声明bean的注解
- @Component 组件,没有明确的角色
- @Service 在业务逻辑层使用(service层)
- @Repository 在数据访问层使用(dao层)
- @Controller 在展现层使用,控制器的声明
注入bean的注解
- @Autowired:由Spring提供,根据类型进行自动装配,如果组合@Qualifier使用将按名称进行装配
- @Inject:由JSR-330提供使用时需要导入javax.inject.Inject;实现注入同样是根据类型进行自动装配,如果需要按名称进行装配,则需要配合@Named
- @Resource:由JSR-250提供,使用需要导入javax.annotation,根据名称进行自动装配的,一般会指定一个name属性
功能注解
- @Transactional声明事务
- @Cacheable声明缓存
配置类相关注解
- @Configuration 声明当前类为配置类
- @Bean 注解在方法上,声明当前方法的返回值为一个bean
- @ComponentScan 用于对Component进行扫描,
- @WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解
切面(AOP)相关注解
- @Aspect 声明一个切面
- @After 在方法执行之后执行
- @Before 在方法执行之前执行
- @Around 在方法执行之前与之后都执行
- @PointCut 声明切点
@Bean的属性支持
@Scope设置Spring新建Bean的类型,可选择包括ÿ