Spring ioc注解
(使用IDEA)
@[TOC]spring 注解)
##day01
@value注解的使用:
由于Spring对通过IOC的方式对对象进行统一管理,所以对任何对象而言,其生成方法均由Spring管理。传统的方法是通过XML配置每一个Bean,并对这个Bean的所有Field进行声明式配置。
例入:
<bean class="cn.tl.beans.Person" id="person">
<property name="id" value="#{1+2}"></property>
<property name="wife" value="#{wife}"></property>
<property name="name" value="#{wife.age}"></property>
</bean>
//@xml
@Test
public void test05(){
ApplicationContext ioc= new ClassPathXmlApplicationContext("spring_ioc.xml");
Person bean = ioc.getBean("person",Person.class);
System.out.println(bean);
}
使用注解后@value
可以直接在类中通过value设置参数。
不过value不适用于局部变量。
@Component
public class Role {
@Value("管理员")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
除了使用value 写硬编码值,还可以引用外部属性值。
先创建一个dp.properties
mysql.name=root
创建一个新的类Role
@Component
public class Role {
@Value("管理员")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
//使用${}调用外部资源包来进行调用
@Component
public class User {
//使用value依赖注入
@Value("#{role.name}")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
总结
value 注解作为spring的快捷输入硬编码的值是非常方便的,使用起来方便