Spring_IOC之构造方法方法注入
1.目录结构

2.User
package com.cloud.spring.model; /** * @author cloud * @data 2016年5月13日 * @version 1.0 * @description:普通的JavaBean */ 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; } }
3.UserDAO
package com.cloud.spring.dao; import com.cloud.spring.model.User; /** * @author cloud * @data 2016年5月13日 * @version 1.0 * @description:定义接口,定义规范,必须实现save方法 */ public interface UserDAO { public void save(User user); }
4.UserDAOImp
package com.cloud.spring.dao.imp; import com.cloud.spring.dao.UserDAO; import com.cloud.spring.model.User; /** * * @author cloud * @data 2016年5月13日 * @version 1.0 * @description:实现接口,重写方法 */ public class UserDAOImpl implements UserDAO { public void save(User user) { //Hibernate //JDBC //XML //NetWork System.out.println("user saved!"); } }
5.UserService
package com.cloud.spring.service; import com.cloud.spring.dao.UserDAO; import com.cloud.spring.model.User; /** * * @author cloud * @data 2016年5月13日 * @version 1.0 * @description:真正的业务处理 */ public class UserService { private UserDAO userDAO; //在此处使用构造方法注入 public UserService(UserDAO userDAO) { super(); this.userDAO = userDAO; } public void add(User user) { userDAO.save(user); } }
6.TestSpring
package com.cloud.spring.test; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.cloud.spring.model.User; import com.cloud.spring.service.UserService; public class TestSpring { public static void main(String[] args) { try { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); UserService service = (UserService) ctx.getBean("userService"); User user = new User(); service.add(user); } catch (BeansException e) { e.printStackTrace(); } } }
7.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.xsd"> <!-- UserService 中有个实例域UserDAO,需要将UserDAOImp的一个实例注入到UserDAO中去 --> <bean id="u" class="com.cloud.spring.dao.imp.UserDAOImpl" /> <bean id="userService" class="com.cloud.spring.service.UserService" > <!-- 配置文件这样写就是set方法注入 --> <!-- <property name="userDAO" ref="u"/> --> <!-- 配置文件这样写就是构造方法注入 --> <constructor-arg> <ref bean="u"/> </constructor-arg> <!-- 两者的区别在于userService中的UserDAO引用初始化到底是用set方法还是构造函数方法 --> </bean> </beans>
    http://www.cnblogs.com/makexu/

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号