学习spring的装配bean

1.自动化装配beanjava

spring从两个角度来实现自动化装配:spring

1)组件扫描(component scanning):spring 会自动发现应用上下文中所建立的beanapp

2)自动装配(autowiring):spring自动知足bean之间的依赖异步

组件扫描默认是不启用的,因此须要显示配置一下spring,命令spring去讯早带有@component注解的类,并为其建立bean.spa

@compnetScan注解就是启用组件扫描,就会扫描本包里面全部的component组件。线程

2.使用java代码装配beancomponent

不少状况下经过组件扫描和自动装配来实现spring的自动化装配是最为推荐的方式,但有时候自动化配置的方案行不通,所以须要明确配置spring。好比像加载第3方库中的组件装配到你的应用中,这个时候就没办法在类上加@Component和@Autowired注解,所以就不能使用自动化装配的方案了。xml

这时采用显示装配的方式。如java和xml。自动化

@configurationio

@Bean表名这个方法会建立一个bean实例并将其注册到spring应用上下文中,

3.xml配置

 

4.@ConfigurationProperties注解主要用来把properties配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的做用是@ConfigurationProperties注解生效。若是只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的。

 

5.环境与profile

@profile("prod")

@Profile注解应用在了类级别上。它会告诉Spring这个配置类中的bean只有在prod profile激活时才会建立。若是dev profile没有激活的话,那么带有@Bean注解的方法都会被忽略掉。

 

 

spring.profiles.active:

使用@activeProfiles注解配置

 

 

6.@Async为异步注解,表示该方法的线程与此方法异步执行,须要配合@EnableAsync注解使用。若是只有@Async是不生效的,要在Appliction的启动中加上@EnableAsync才会生效。

 

7.自动装配

@ComponentScan为组件扫描,,("com.coocaa.radar")其后加生效区间,为组件扫描,会自动扫描该包里的@Component注解

@Component为独立的组件

 

8.//针对第三方库

@Configuration给类加注解,是以java的方式来加载bean

其类中的方法加@Bean注解,表示这个方法会建立一个bean实例,并将其注册到spring应用上下文中。

 

 

9.//针对配置中的信息的读取

@ConfigurationProperties(prefix = "app_manage_check")

表明从配置中读取信息,但要配合@EnabelConfigurationProperties({AmqpConfig.class}) 才会生效

 

还能够@ConfigurationProperties(prefix = "app_manage_check")与@Component或者@Configuration一块儿也会生效

10.@Value("${conf.amqp.queue_broadcast_log.name}")

从配置中读取

11.@Aspect注解,面向aop切面,只加@Aspect是不生效的,要加上@Component或者@Configuration

 

12.@Configuration

@ConfigurationProperties(prefix = "ldap")

@PropertySource("classpath:ldap.properties")

 

@PropertySource注解用来指定要读取的配置文件的路径从而读取这些配置文件,能够同时指定多个配置文件;

相关文章
相关标签/搜索