Spring——自动装配(@Autowired/@Profile/底层组件)

本文介绍Spring中关于自动装配的方法和规则,以及@Profile动态激活的用法和一个例子。spring

 

1、@Autowired自动装配

@Autowired注解能够加在构造器、属性、方法、方法参数上。app

 自动装配规则

默认优先按照类型去容器中找对应的组件,若是存在多个相同类型,再根据属性名称做为组件id去容器中查找。测试

咱们能够经过@Qualifier配合@Autowired指定要装配的组件的idui

也能够在组件上添加@Primary指定首选的beanspa

@Autowired有一个属性required默认为true,表示必定须要这个组件,若是在容器中找不到对应组件,则会报错。对象

 在组件的有参构造方法中,会自动进行装配,不须要添加@Autowired注解。blog

 

 

2、XXXAware获取底层组件 

 

好比其中的ApplicationContextAware,实现这个接口,就可以获得applicationContext并使用

Red类实现了两个XXXAware接口,下面咱们来进行测试接口

 

容器启动后打印以下:虚拟机

 

 说明在对象建立时,会调用接口规定的方法,使咱们获取到底层组件io

 

3、@Profile动态激活切换组件

一、注解标注位置

能够添加在配置类或配置类中@Bean修饰的方法上。

 

 

 

若是标在配置类中的@Bean方法上,则知足相应激活条件,才会注册对应的bean

若是直接标在配置类上,知足激活条件可使用这个配置类,不然配置类中的一切配置无效。

二、激活方法

1)经过添加虚拟机参数

-Dspring.profiles.active="profile1,profile2"

2)经过改变容器环境参数

相关文章
相关标签/搜索