SpringBoot自动装配原理

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

1.@SpringBootApplication注解理解

 2.查看创建Bean的个数以及展示

3.条件化配置注解

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()的理解

 

举例存在对应的配置文件

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring