依赖注入对象可以 手工装配(建议) 和 自动装配
package com.PersonDaoBean.test; public interface PersonDao { public abstract void add(); }
package com.PersonDaoBean.test; public class PersonDaoBean implements PersonDao { @Override public void add(){ System.out.println("PersonDaoBean执行。。。。。。。。。。。。。。。。。"); } }
package com.dao.bean.www; public interface PersonServiceDao { public abstract void save(); }
package com.bean.www; import com.PersonDaoBean.test.PersonDao; import com.dao.bean.www.PersonServiceDao; public class PersonServiceBean implements PersonServiceDao { private PersonDao personDao; private String name; public PersonServiceBean(PersonDao personDao, String name) { this.personDao = personDao; this.name = name; } public void save() { personDao.add(); System.out.println(name); } }
//配置方法
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="personDao" class="com.PersonDaoBean.test.PersonDaoBean"></bean> <bean id="personService" class="com.bean.www.PersonServiceBean"> <constructor-arg index="0" type="com.PersonDaoBean.test.PersonDao" ref="personDao"></constructor-arg> <constructor-arg index="1" value="valueString"></constructor-arg> </bean> </beans>
//Test Class
package com.itcast.www; import static org.junit.Assert.*; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.dao.bean.www.PersonServiceDao; public class TestCaseDemo { @BeforeClass public static void setUpBeforeClass() throws Exception { } @Test public void instanceSpring() { ApplicationContext ctx = new ClassPathXmlApplicationContext( "applicationContext.xml"); PersonServiceDao personService = (PersonServiceDao) ctx .getBean("personService"); personService.save(); } }