[spring]基于注解的spring配置

Spring是一个基于IOC和AOP的结构J2EE系统的框架
IOC 反转控制 是Spring的基础,Inversion Of Control
简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
 
一、注解方式
修改applicationContext.xml,在前面加入:
<context:annotation-config/>
表示告诉Spring要用注解的方式进行配置
 
1.1 对注入对象行为的注解:
1.1.1 @Autowired注解
 加在属性前
@Autowired
private Category category;
 
 也可以放在setCategory方法前:
@Autowired
public void setCategory(Category category) {
this.category = category;
}
 
1.1.2 除了@Autowired之外,@Resource也是常用的手段
 @Resource(name="c")
 private Category category;
 
修改applicationContext.xml,什么都去掉,只新增:
<context:component-scan base-package="com.afeng.pojo"/>
其作用是告诉Spring,bean都放在com.afeng.pojo这个包下
 
1.2 对bean的注解
修改applicationContext.xml,将bean注解的都去掉,新增:
<context:component-scan base-package="com.afeng.pojo"/>
其作用是告诉Spring,bean都放在com.afeng.pojo这个包下
 
@Component
为Product类加上@Component注解,即表明此类是bean
@Component("p")
public class Product {
 
为Category 类加上@Component注解,即表明此类是bean
@Component("c")
public class Category {
 
另外,因为配置从applicationContext.xml中移出来了,所以属性初始化放在属性声明上进行了。
private String name="product 1";
private String name="category 1";
原文地址:https://www.cnblogs.com/afeng2010/p/10060355.html