Spring ICO使用

来源:互联网 发布:挺进大别山 知乎 编辑:程序博客网 时间:2024/04/28 17:28


项目


MyEclipse 8.6

JUnit 4 测试


项目结构


package com.chni.dao;import com.chni.bean.User;public interface IUserDao {public void add(User user);public void delete(String id);public void load(String id);}

package com.chni.dao.impl;import com.chni.bean.User;import com.chni.dao.IUserDao;public class UserDao implements IUserDao {@Overridepublic void add(User user) {System.out.println("执行添加"+user);}@Overridepublic void delete(String id) {System.out.println("delete"+id);}@Overridepublic void load(String id) {System.out.println("load"+1);}}


package com.chni.service;import com.chni.bean.User;public interface IService {public void add(User user);public void delete(String id);public void load(String id);}

package com.chni.service.impl;import com.chni.bean.User;import com.chni.dao.IUserDao;import com.chni.service.IService;public class Service implements IService{private IUserDao userdao;public IUserDao getUserdao() {return userdao;}public void setUserdao(IUserDao userdao) {this.userdao = userdao;}@Overridepublic void add(User user) {userdao.add(user);}@Overridepublic void delete(String id) {userdao.delete(id);}@Overridepublic void load(String id) {userdao.load(id);}}


package com.chni.bean;public class User {private String id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + "]";}}
package com.chni.action;import com.chni.bean.User;import com.chni.service.IService;public class UserAction {private User user;private IService service;public void add(){service.add(user);}public void delete(){service.delete("1");}public void load(){service.load("2");}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public IService getService() {return service;}public void setService(IService service) {this.service = service;}}

package com.chni.test;import org.junit.Test;import org.springframework.beans.factory.BeanFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.chni.action.UserAction;import com.chni.bean.User;public class TestJulit {//创建工厂类private BeanFactory factory= new ClassPathXmlApplicationContext("beans.xml");@Testpublic void test(){UserAction action=factory.getBean("action", UserAction.class);User user=new User();user.setId("2");user.setName("张三");action.setUser(user);action.add();}}


<?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">    <!-- 创建dao 默认为单例  下面一句话 相当于 UserDao dao=new UserDao -->    <bean id="userdao" class="com.chni.dao.impl.UserDao" />          <!-- 配置服务层  服务层的 userdao  使用技术IOC 依赖注入    通过setXXX设置 userdao-->         <bean id="service" class="com.chni.service.impl.Service">      <!--       <property name="userdao" ref="userdao"/> 这句话相当于下面     public void userdaoSet(IUserDao userdao){    this.userdao=userdao;       }        -->     <property name="userdao" ref="userdao"/>     </bean>          <!-- 使用多例  scope 范围 :当类中状态不做任何修改的话 使用单例   否则使用多例  -->     <bean id="action" class="com.chni.action.UserAction" scope="prototype">     <property name="service" ref="service"/>     </bean>        </beans>


0 0
原创粉丝点击