zoukankan      html  css  js  c++  java
  • Sping--life cycle

    bean.xml:

    注意, 千万不要后面加上 scope="prototype"

    <?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="u" class="com.bjsxt.dao.impl.UserDAOImpl">
      </bean>
    	
      <bean id="userService" class="com.bjsxt.service.UserService" init-method="init" destroy-method="destroy" scope="prototype">
      	<!-- 
      	<property name="userDAO" ref="u" />
      	 -->
      	 <constructor-arg>
      	 	<ref bean="u"/>
      	 </constructor-arg>
      </bean>
      
    
    </beans>
    

    UserService.java:

    package com.bjsxt.service;
    import com.bjsxt.dao.UserDAO;
    import com.bjsxt.model.User;
    
    
    
    public class UserService {
    	
    	private UserDAO userDAO;  
    	
    	public void init() {
    		System.out.println("init");
    	}
    	
    	public void add(User user) {
    		userDAO.save(user);
    	}
    	public UserDAO getUserDAO() {
    		return userDAO;
    	}
    	public void setUserDAO(UserDAO userDAO) {
    		this.userDAO = userDAO;
    	}
    	
    	public UserService(UserDAO userDAO) {
    		super();
    		this.userDAO = userDAO;
    	}
    	
    	public void destroy() {
    		System.out.println("destroy");
    	}
    }
    

    UserServiceTest.java:

    package com.bjsxt.service;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.bjsxt.model.User;
    
    //Dependency Injection
    //Inverse of Control
    public class UserServiceTest {
    
    	@Test
    	public void testAdd() throws Exception {
    		ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
    		
    		
    		UserService service = (UserService)ctx.getBean("userService");
    		UserService service2 = (UserService)ctx.getBean("userService");
    		
    		ctx.destroy();
    		
    	}
    
    }
    

      

    结果init, init

    去掉scope="prototype", 结果就是init, destroy  

      

  • 相关阅读:
    arduino链接GY521(MPU6050)模块
    I2C Python Library ITG3205 API
    [翻译]AxureInteractive Prototypes原型设计工具Axure学习第2.3节
    [Java]XML数据的请求和DOM技术解析
    [Linux]VI相关操作
    mysql数据库连接错误问题
    关于管理单元初始化失败的解决方法
    彻底明白Java的IO系统(网上找的,还没看,先放这)
    一个关于C++ Inline关键字的引发的一个错误
    orcale 中日期类型相加的处理
  • 原文地址:https://www.cnblogs.com/wujixing/p/5454029.html
Copyright © 2011-2022 走看看