利用@Value这个注解完成对属性值的注入
注:建议在set方法上面对属性值的注入,因为直接在private前面注入的话,也就是在引入字段的前面注入,会破坏这个字段的应用范围(private、public),这个时候其实用的是暴力反射注入。
利用@Value这个注解完成对属性值的注入
注:建议在set方法上面对属性值的注入,因为直接在private前面注入的话,也就是在引入字段的前面注入,会破坏这个字段的应用范围(private、public),这个时候其实用的是暴力反射注入。
属性的注入:这里是是代替之前给User对象注入值
有两种方式 1.@Value(value="1")
private Integer u_id;//使用暴力反射注入
2.@Value(value=“0145")//推荐在SET方法上注入
public void setU_password(String u_password) {
this.u_password = u_password;
}
引用类型的注入:
加入我们的User类中含有一个u_pet 属性
那么我们需要在Pet类中作出相应的注解
1 类前面加上@Component("pet")
2 @Value("橘猫")
public void setPetType(String petType) {
this.petType = petType;
}
3 @Value("橘色")
public void setColor(String color) {
this.color = color;
}
4 也是最容易忘记的一点 就是使用自动装配(注意这是在我们的配置文件中没有使用 对应bean 来配资我们的橘猫对象)
//自动装配
@Autowired
public void setU_pet(Pet u_pet) {
this.u_pet = u_pet;
}
对于我们的u_pet 属性的set方法加上 @Autowired 而不是@alue()
否则我们就是使用手动装配的方式
@Resource(name="pet")
比如我们配置了两个一个是 name ="dog" 一个是name="cat" 那么我们就可以使用@Resource(name="cat") 来制定我们使用的使用名为cat 的这个pet对象
例如 <!-- 配置一个橘猫宠物对象 -->
<bean name="cat" class="com.chengyang.bean.Pet">
<property name="petType" value="橘猫"></property>
<property name="color" value="橘色"></property>
</bean>
<!-- 配置一哈士奇宠物对象 -->
<bean name="dog" class="com.chengyang.bean.Pet">
<property name="petType" value="哈士奇"></property>
<property name="color" value="纯白"></property>
</bean>
注解配置-属性注入
@Value("1")
private Integer u_id;//使用暴力反射区注入
@Value("老张") //推荐在set方法上注入
public void setU_username(String u_username) {
this.u_username = u_username;
}
//自动装配
@Autowired
推荐:
//手动装配
@Resource(name="dog")