SpringDay01
Spring的控制反转
Spring的依赖注入
多种注入方式
多种属性的注入方式
<bean id="userDao" class="dao.UserDaoImpl"></bean> <!-- 构造方法的方式注入属性 --> <bean id="car" class="entity.Car"> <constructor-arg name="name" value="保时捷"></constructor-arg> <constructor-arg name="price" value="1000000"></constructor-arg> </bean> <!-- set方法的方式注入属性 --> <bean id="car2" class="entity.Car2"> <property name="name" value="奇瑞QQ"></property> <property name="price" value="40000"></property> </bean> <!-- 注入对象类型的注入 --> <bean id="person" class="entity.Person"> <property name="name" value="张三"></property> <property name="car" ref="car"></property> </bean> <!-- Spring的复杂类型的注入 --> <bean id="collectionBean" class="entity.CollectionBean"> <!-- 数组类型的属性 --> <property name="array"> <list> <value>张三</value> <value>李四</value> <value>王五</value> </list> </property> <!-- 注入List集合的数据 --> <property name="list"> <list> <value>张三</value> <value>李四</value> <value>王五</value> </list> </property> <!-- 注入Map集合 --> <property name="map"> <map> <entry key="aaa" value="111"></entry> <entry key="bbb" value="222"></entry> <entry key="ccc" value="333"></entry> </map> </property> </bean>
package test; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import dao.UserDao; import entity.Car; import entity.Car2; import entity.CollectionBean; import entity.Person; public class Test1 { @Test public void demo(){ //创建Spring的工厂类: ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //通过工厂解析XML获取Bean的实例. UserDao userDao = (UserDao) applicationContext.getBean("userDao"); userDao.sayHello(); Car car = (Car) applicationContext.getBean("car"); System.out.println(car.getName()); System.out.println(car.getPrice()); System.out.println("---------------------------"); Car2 car2 = (Car2) applicationContext.getBean("car2"); System.out.println(car2.getName()); System.out.println(car2.getPrice()); System.out.println("---------------------------"); Person person = (Person) applicationContext.getBean("person"); System.out.println(person.getName()); System.out.println(person.getCar().getName()); System.out.println("---------------------------"); CollectionBean collectionBean = (CollectionBean) applicationContext.getBean("collectionBean"); System.out.println(collectionBean.getArray().length); System.out.println(collectionBean.getList().toString()); System.out.println(collectionBean.getMap().toString()); } }