spring 常用注解
1. 常用bean注解
- @Component(“accountDao”),bean的id属性内容直接配置在注解后⾯如果不配置,默认定义个这个bean的id为类的类名⾸字⺟⼩写; 另外,针对分层代码开发提供了@Componenet的三种别名@Controller、@Service、@Repository分别⽤于控制层类、服务层类、dao层类的bean定义,这四个注解的⽤法完全⼀样,只是为了更清晰的区分⽽已
- @Scope(“prototype”),默认单例,注解加在类上
2.方法注解
-
@PostConstruct,注解加在⽅法上,该⽅法就是对象初始化后调⽤的⽅法
- @PreDestory,注解加在⽅法上,该⽅法就是对象销毁前调⽤的⽅法
3.属性注解
-
@Autowired ,@Autowired为Spring提供的注解,需要导⼊包org.springframework.beans.factory.annotation.Autowired。当⼀个类型有多个bean值的时候,会造成⽆法选择具体注⼊哪⼀个的情况,这个时候我们需要配合着@Qualififier使⽤。
- @Qualififier(name = “xxxxImpl”), 配合 @Autowired 使用 指定要依赖的实现 bean id
- @Resource(name=””,type=xxx.class) 注解由 J2EE 提供,需要导⼊包 javax.annotation.Resource
- 如果同时指定了 name 和 type,则从Spring上下⽂中找到唯⼀匹配的bean进⾏装配,找不到则抛出异常。
- 如果指定了 name,则从上下⽂中查找名称(id)匹配的bean进⾏装配,找不到则抛出异常。
- 如果指定了 type,则从上下⽂中找到类似匹配的唯⼀bean进⾏装配,找不到或是找到多个,都会抛出异常。
- 如果既没有指定name,⼜没有指定type,则⾃动按照byName⽅式进⾏装配;
4.配置类注解
- @Confifiguration 注解,表名当前类是⼀个配置类
- @ComponentScan 注解,替代 context:component-scan@PropertySource,引⼊外部属性配置⽂件
- @Import 引⼊其他配置类
- @Value 对变量赋值,可以直接赋值,也可以使⽤ ${} 读取资源配置⽂件中的信息
- @Bean 将⽅法返回对象加⼊ SpringIOC 容器