学习spring的装配bean

1.自动化装配bean

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

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

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

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

@compnetScan注解就是启用组件扫描,就会扫描本包里面所有的component组件。

2.使用java代码装配bean

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

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

@configuration

@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注解用来指定要读取的配置文件的路径从而读取这些配置文件,可以同时指定多个配置文件;

 

转载于:https://my.oschina.net/u/2263272/blog/1614972

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值