目录
4.SpringBootApplication.run()的理解
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()的理解
举例:存在对应的配置文件