spring引见(set和构造器注入)
spring介绍(set和构造器注入)
1.实体类
User.java
package com.test.model; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
2.数据访问对象(dao-data access object)
UserDAO.java
package com.test.dao; import com.test.model.User; public interface UserDAO { public void save(User user); }
3.实现dao层类
UserDAOImpl.java
package com.test.dao.impl; import com.test.dao.UserDAO; import com.test.model.User; public class UserDAOImpl implements UserDAO { public void save(User user) { System.out.println("user saved!"); } }
4.服务类
UserService.java
package com.test.service; import com.test.dao.UserDAO; import com.test.model.User; public class UserService { private UserDAO userDAO; // 构造器注入用到 public UserService(UserDAO userDAO) { super(); this.userDAO = userDAO; } //set注入用到 // public UserDAO getUserDAO() { // return userDAO; // } // // public void setUserDAO(UserDAO userDAO) { // this.userDAO = userDAO; // } public void add(User user) { userDAO.save(user); } }
5.配置文件
beans.xml
<?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="userDAOImpl" class="com.test.dao.impl.UserDAOImpl"></bean> <bean id="userService" class="com.test.service.UserService"> <!-- set注入 --> <!-- <property name="userDAO">--> <!-- <ref bean="userDAOImpl" />--> <!-- </property>--> <!-- 构造器注入(UserService中要有个带UserDAO参数的构造方法) --> <constructor-arg> <ref bean="userDAOImpl"/> </constructor-arg> </bean> </beans>
6.jUnit测试类
UserServiceTest.java
package com.test.service; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.test.model.User; public class UserServiceTest { @Test public void testAdd() throws Exception { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml"); UserService service = (UserService) applicationContext.getBean("userService"); User u = new User(); u.setUsername("zhangsan"); u.setPassword("123"); service.add(u); } }