1.構造方法注入java
1.bean類 public class User { private String name; private Integer age; private Cat cat; public User(String name,Integer age,Cat cat){ this.name=name; this.age=age; this.cat=cat; } @Override public String toString() { return "User"+"name"+name+"age"+age+"cat"+cat.getName(); } } 2.測試方法 public void demo1(){ ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml"); User user=(User)applicationContext.getBean("user"); System.out.println(user); } 3.xml文件配置 <!--構造方法 注入--> <bean id="user" class="com.imooc.ioc.demo4.User"> <constructor-arg name="name" value="張三"></constructor-arg> <constructor-arg name="age" value="13"></constructor-arg> <constructor-arg name="cat" ref="cat"></constructor-arg> </bean>
<bean id="cat" class="com.imooc.ioc.demo4.Cat">
<property name="name" value="cat"></property>
</bean>
2.set方法注入數組
1.bean類 public class Person { private String name; private Integer age; private Cat cat; public void setCat(Cat cat) { this.cat = cat; } public Cat getCat() { return cat; } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public String getName() { return name; } public Integer getAge() { return age; } @Override public String toString() { return "name"+name+"age"+age+"cat"+cat.getName(); } } 2.測試方法 public void demo2(){ ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml"); Person person=(Person)applicationContext.getBean("person1"); System.out.println(person); } 3.xml文件配置 <!--set方法注入--> <bean id="person1" class="com.imooc.ioc.demo4.Person"> <property name="age" value="12"></property> <property name="name" value="李四"></property> <property name="cat" ref="cat"></property> </bean>
3.複雜類型的注入app
數組 List set Map Propertieside
package com.imooc.ioc.demo5; import java.util.*; /* * * * 複雜類型注入*/ public class CollectionBean { private String[] args; //數組類型 private List<String> list;//list集合 private Set<String> set ;//set集合 private Map<String,Integer> map; private Properties properties; public List<String> getList() { return list; } public Map<String, Integer> getMap() { return map; } public Properties getProperties() { return properties; } public Set<String> getSet() { return set; } public String[] getArgs() { return args; } public void setList(List<String> list) { this.list = list; } public void setMap(Map<String, Integer> map) { this.map = map; } public void setProperties(Properties properties) { this.properties = properties; } public void setSet(Set<String> set) { this.set = set; } public void setArgs(String[] args) { this.args = args; } @Override public String toString() { return "arrs"+ Arrays.toString(args)+"list"+list+"map"+map+"properties"+properties+"set"+set; } }
2.測試方法
public void demo1(){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
CollectionBean collectionBean=(CollectionBean)applicationContext.getBean("collectionBean");
System.out.println(collectionBean);
}
3.配置文件
<bean id="collectionBean" class="com.imooc.ioc.demo5.CollectionBean" > <!--數組的屬性注入--> <property name="args"> <list> <value>aaa</value> <value>bbb</value> <value>ccc</value> </list> </property> <!--list的屬性注入--> <property name="list"> <list> <value>111</value> <value>333</value> <value>222</value> </list> </property> <!--set集合的屬性注入--> <property name="set"> <set> <value>ddd</value> <value>eee</value> <value>fff</value> </set> </property> <!--map的屬性注入--> <property name="map"> <map> <entry key="aaa" value="111"></entry> <entry key="bbb" value="222"></entry> </map> </property> <!--properties的屬性注入--> <property name="properties"> <props> <prop key="username">zhangsan</prop> </props> </property></bean>