学习spring的一点代码:对象注入的方式

 首先:写好两个接口

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();
	}
}

程序运行结果:



 

猜你喜欢

转载自zuocq.iteye.com/blog/1438779
今日推荐