Spring官方工作 / 面试必备常用注解详解
Spring3.0开启了伟大的注解时代,替代了传统的xml配置,注解使得我们的开发更加高效!
再不怕没时间陪对象啦!
@Configuration
显式指定与此Configuration类关联的Spring bean定义的名称。 如果未指定(这是最常见的情况,SE们都太懒了!),将自动生成bean名称
仅当通过组件扫描获取Configuration类或直接提供给AnnotationConfigApplicationContext时,自定义名称才适用。
如果将Configuration类注册为传统的XML bean定义,则bean元素的名称/ id将优先。
返回的是建议的组件名称,如果有的话(否则为空字符串)
@Configuration使用
下面是一个使用实例,创建了一个userService和accountService的实例,accountService实例引用userService实例。
@Configuration
@ComponentScan(basePackages = { "com.test.web" })
@Import(UserConfg.class)
@ImportResource(locations = {"classpath:config/spring-beans.xml"})
public class MainConfg {
@Bean(name = "userService", initMethod = "init", destroyMethod = "destroy")
@Scope("singleton")
public UserService userService() { return new UserService();
}
@Bean
public AccountService accountService(UserService userService) { AccountService as = new AccountService(); as.setUserService(userService); return as;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
注解说明
@Configuration:代表这个类是一个配置类。
@ComponentScan:用来扫描指定包下面的注解类。
@Import:用来导入其他的@Configuration配置类。
@ImportResource:用来导入xml配置文件,比如某些配置一定要xml配置。
@Bean:用来定义一个bean,可以指定初始、销毁方法,及bean范围等。
这些注解都在spring-context包下,还有其他注解用来解放xml形式的配置,大量xml配置可java配置化,只要定义好,Spring会自动扫描包下面的@Configuration注解的配置文件类来装配。
@ConfigurationProperties
外化配置的注释。 如果要绑定并验证某些外部属性(例如,来自.properties文件),请将其添加到@Configuration类中的类定义或方法。
与 @Value 相反,由于属性值被外部化,因此不会评估SpEL表达式
文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。
原文链接:javaedge.blog.csdn.net/article/details/100635386
- 点赞
- 收藏
- 关注作者
评论(0)