对于bean的属性 进行注入1.参数注入
<bean id="user" class="com.cai.helloworld.User">
<property name="id" value="1" ></property>
<property name="username" value="cai"></property>
<property name="password" value="123"></property>
<property name="age" value="12"></property>
</bean>
2.构造方法注入 可以是name也可以是index
<bean id="user" class="com.cai.helloworld.User">
<constructor-arg name="id" value="1" ></constructor-arg>
<constructor-arg name="username" value="cai"></constructor-arg>
<constructor-arg name="age" value="12"></constructor-arg>
<constructor-arg name="password" value="123"></constructor-arg>
</bean>
3.工厂注入,有静态和非静态,非静态bean写一个factory-bean 静态直接调用方法(非静态不写)
<bean id="user" class="com.cai.helloworld.CreatUser" factory-method="creatUser"></bean>
public class CreatUser {
public static User creatUser(){
User user=new User();
user.setId(1);
user.setAge("12");
user.setPassword("123");
user.setUsername("cai");
return user;
}
}
感觉还是第一个参数注入舒服点
4.内部bean,list,map使用,主要要new map()
<bean name="dog" class="com.cai.helloworld.Dog"></bean>
<bean id="user" class="com.cai.helloworld.User">
<property name="id" value="1" ></property>
<property name="username" value="cai"></property>
<property name="password" value="123"></property>
<property name="age" value="12"></property>
/
<!-- 引用<property name="dog" ref="dog" >-->
<!-- 内部bean -->
<property name="dog" >
<bean class="com.cai.helloworld.Dog">
<property name="name" value="tom"></property>
<property name="age" value="1"></property>
</bean>
</property>
<property name="hobbys" >
<list>
<value>唱歌</value>
<value>跳舞</value>
</list>
</property>
<property name="nameandage" >
<map>
<entry>
<key><value>上午</value></key>
<value>1</value>
</entry>
</map>
</property>
</bean>
public class User {
private int id;
private String username;
private String password;
private String age;
private Dog dog=new Dog();
private java.util.List<String> hobbys=new ArrayList<String>();
private Map<String ,Integer > nameandage=new HashMap<String,Integer>();