@value:简单类型赋值
属性:value表示简单类型赋值
位置:1.属性定义的上面,无需sat方法推荐使用
2.在set方法的上面
例:
@Value(value=”张三”)//属性value可省略
private String name;
@Value(value="18")
public void setAge(String age){
System.out.println(age);
this.age = age;
}
给引用类型赋值:
引用类型使用自动注入。
@Autowired:是使用Spring框架提供给引用类型赋值的,支持byName。byType。默认是Type
位置:
1.在属性上面,无需set方法。推荐
2.在set方法上面
例:
@Auttowired //默认byType
private String name;
byName方式使用:
1,@Autowired: 其中由这里可添加一个属性(requird,这里默认为true,表示必可赋值。false为不可赋值赋值为null)给引用类型赋值
2,@Qualifier(value=<“bean”>的id)
例:
@Autowired
@Qualifier(value="xuexiao")//xuexiao是Schoold的类,创建的时候,起名为xuexiao(bean的id)
private School mySchool;
配置文件
声明组件扫描器找到,找到报名所在的包,进行扫描, 找到可执行的注解,按照主机内容进行执行。
代码:<context:component-scan base-pakage=“所在报名 com.bb.b01"/>
@Resource自动注入
Spring提供了对jdk中@Resource注解的支持 Resource支持byName/byType,可在属性上使用, 可在set方法上使用 默认为byName方式
特性:默认为byName方式赋值, 如果找不到的情况下自动按照byType尝试赋值
代码:
@Resource
private School mySchool;
@Resource(name="xxx")//入使用此方式 ,只会按照byName方式进行执行, 放弃自动尝试byType方式
private School mySchool;
bean的初始化方法注解
@postConstruct
public void myInit(){
System.out.println("容器初始化执行的方法");
}
@preDestroy
public void myDestory(){
System.out.println("容器销毁前执行的方法");
}