我对春天很陌生。我搞不懂什么时候使用自动关键字和新的keyword.while使用模型类,在春季我们使用新关键字而不是自动处理关键字
发布于 2020-01-28 06:18:54
@Autowire的典型用法是在初始化bean时使用单例依赖项自动填充属性。如果它确实是一个应该初始化一次并重用的依赖项。
发布于 2020-01-28 21:04:27
要回答如何检查bean的作用域的问题,有ConfigurableApplicationContext是ApplicationContext的哪个子类,也是BeanFactory的子类。configurableApplicationContext::getBeanFactory上有一个返回BeanFactory的方法。您可以调用它上的各种方法来检查各种bean的范围。下面是我编写的代码片段:
@Component
public class ScopeTestService {
@Autowired
private ConfigurableApplicationContext applicationContext;
public void testScope() {
String scope = applicationContext.getBeanFactory().getBeanDefinition("scopeTestService").getScope();
System.out.println(scope);
}
}您可以对各种排列组合进行检查。您可以使用@scope(“范围类型”)注释以及@Component进行更改。
以上代码的结果是: 2020-01-29 02:24:56.125 INFO 57500 --主org.hibernate.dialect.Dialect : HHH000400:使用方言: org.hibernate.dialect.MySQL8Dialect 2020-01-29 02:24:57.604 INFO 57500 --主j.LocalContainerEntityManagerFactoryBean :初始化JPA EntityManagerFactory for persistence单元‘2020-01-2902:24:58.066 INFO 57500 -主c。example.demo.JpaTutorialsApplication :在7.023秒内启动JpaTutorialsApplication (JVM运行7.837) 单例 2020-01-29 02:24:58.077 INFO 57500 --线程-2 j.LocalContainerEntityManagerFactoryBean :关闭JPA EntityManagerFactory用于持久性单元“默认”2020-01-29 02:24:58.082 INFO 57500 --线程-2 com.zaxxer.hikari.HikariDataSource : HikariPool-1 -启动关闭.2020-01-29 02:24:58.098 INFO 57500 --线程-2 com.zaxxer.hikari.HikariDataSource : HikariPool-1 -关闭完成。
https://stackoverflow.com/questions/59943043
复制相似问题