SpringBoot自动装配原理详细解析
作者:景庆197
这篇文章主要介绍了SpringBoot自动装配原理详细解析,一个对象交给Spring来管理的三种方式 @Bean @Compoment @Import,
@Bean主要在@Configuration中,通过方法进行注入相关的Bean,@Compoent与@Service归为一类,在类上加注入对应的类,需要的朋友可以参考下
@Bean主要在@Configuration中,通过方法进行注入相关的Bean,@Compoent与@Service归为一类,在类上加注入对应的类,需要的朋友可以参考下
1.@SpringBootApplication注解理解
一个对象交给Spring来管理的三种方式 @Bean @Compoment @Import
@Bean主要在@Configuration中,通过方法进行注入相关的Bean
@Compoent与@Service归为一类,在类上加注入对应的类
@Import注解只有一value方法,注释中指名该注解必须作用在@Configuration定义的类上,Value可以为想要交割Spring管理的类文件数组 Impor
2.查看创建Bean的个数,以及展示
查看展示个数
ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args); int counts = context.getBeanDefinitionCount(); System.out.println(counts);
查看IOC中所有的Bean
ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args); ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); beanFactory.getBeanNamesIterator().forEachRemaining(System.out::println);
3.条件化配置注解
在自动配置类上有一些ConditionXxxx注解吗,该注解的作用进行条件化的选择
注解 | 作用 |
@ConditionalOnBean | 如果存在某个Bean, 配置类生效 |
@ConditionalOnMissingBean | 如果不存在某个Bean, 配置类生效 |
@ConditionalOnClass | 如果存在某个类, 配置类生效 |
@ConditionalOnMissingClass | 如果不存在某个类, 配置类生效 |
@ConditionalOnProperty | 如果存在某个属性配置, 配置类生效 |
@ConditionalOnWebApplication | 如果是一个web应用, 配置类生效 |
@ConditionalOnNotWebApplication | 如果不是一个web应用, 配置类生效 |
相关举例WebMvcAutoconfiguration
视图解析器
4.SpringBootApplication.run()的理解
举例:存在对应的配置文件
到此这篇关于SpringBoot自动装配原理详细解析的文章就介绍到这了,更多相关SpringBoot自动装配内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!