学习笔记——三方集成自动配置

1.配置优先级

        配置文件格式:properties,yml,yaml。(项目开发时推荐使用yml)

        其他配置方式:Java系统属性配置,命令行参数配置。

        配置优先级:命令行参数配置>ava系统属性配置>properties>yml>yaml

2.Bean管理

       (1) 为什么要用@Bean?

        因为管理的对象要是第三方的话,是无法直接用@Component注解及其衍生的注解来声明bean对象的,就需要用@Bean注解。

        用法:通过@Configuration声明一个配置类,里面用@Bean注解声明方法,返回值就是需要使用的的第三方需要管理对象,方法里面返回一个new出来的第三方对象,其他的都不用写。一个配置类里面可以对多个bean进行管理。

@Configuration
public class CommonConfig {
    @Bean
    public BASE64Encoder base64Encoder(){
        return new BASE64Encoder();
    }
	
    @Bean
    public BASE64Decoder base64Decoder(){
        return new BASE64Decoder();
    }
}

        (2)@Component和@Bean的区别?

        都是用来管理bean对象的,加入IOC容器进行管理。但是,@Component是针对本项目的自己定义的bean对象使用。@Bean是针对项目中引入的第三方的。

3.获取bean

        方法一:根据类型获取

<T> T getBean(Class<T> requiredType)

        方法二:根据指定bean名称获取

Object getBean(String name)

        方法三:根据指定bean名称和bean类型获取

● <T> T getBean(String name, Class<T> requiredType) 

 4.bean的作用范围

        singleton是默认的,在容器启动时就会被创建,而且同id的只会创建一个,prototype只在使用bean的时候才会创建一个新的实例,每使用一次就会创建一次新的实例。

        用法:@Scope("prototype")

5.自动配置原理

        起步依赖:起步依赖本质上是一个Maven项目对象模型,定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。

        自动配置:当spring容器启动后,一些配置类就自动装配到IOC容器中,不需要我们手动去声明,简化了开发,省去了繁琐的配置等操作。

        @Conditional,按照一定条件进行判断,需要声明的bean,在满足给定的条件后才会注册到Spring IOC容器中。

        @Import,导入一些配置类和bean到IOC容器中。

        当SpringBoot 程序启动时,引导类上 @SpringBootApplication 注解生效,该注解由三个注解组成 @SpringBootConfiguration:引导类也是一个配置类 :@ComponentScan:包扫描

        @EnableAutoConfiguration:自动配置。底层为:@Import(AutoConfigurationImportSelector.class),通过@Import导入配置类。

        

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值