首先:写好两个接口
public interface InsertPhotoDao { public void insert(); } public interface UserDao { public void addUser(); }
然后:写好接口的实现类
public class InsertPhotoDaoImpl implements InsertPhotoDao{
public void insert() {
System.out.println("调用了inset方法");
}
}
public class UserDaoImpl implements UserDao {
//必须要为要注入的属性设置set、get方法
private InsertPhotoDao insertPhoto ;
public void addUser() {
//insertPhoto = new InsertPhotoDaoImpl();
insertPhoto.insert();
System.out.println("调用了addUser方法");
}
public InsertPhotoDao getInsertPhoto() {
return insertPhoto;
}
public void setInsertPhoto(InsertPhotoDao insertPhoto) {
this.insertPhoto = insertPhoto;
}
}
下面定义配置文件:
第一种:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="userDao" class="cn.sisy.dao.impl.UserDaoImpl"> <!-- 使用内部bean进行注入--> <property name="insertPhoto"> <bean class="cn.sisy.dao.impl.InsertPhotoDaoImpl"/> </property> </bean> </beans>
或--第二种
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="insertPhotoDao" class="cn.sisy.dao.impl.InsertPhotoDaoImpl"></bean> <bean id="userDao" class="cn.sisy.dao.impl.UserDaoImpl"> <property name="insertPhoto" ref="insertPhotoDao"/> </bean> </beans>
最好编写测试文件:
public class TestUserDao { private static UserDao userDao; @BeforeClass public static void setUpBeforeClass() throws Exception { try { ApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml"); userDao = (UserDao) cxt.getBean("userDao"); } catch (RuntimeException e) { e.printStackTrace(); } } @Test public void addUser() { userDao.addUser(); } }
程序运行结果: