• 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  

      

  • 相关阅读:
    mac下卸载mysql
    mac安装MySQL笔记
    mac安装python3.7.0
    web自动化测试之8大元素定位方法
    postman的下载和使用
    说说性能测试
    jmeter动态修改线程组参数
    服务器性能监控
    性能测试分配堆内存
    nmon分析工具的使用
  • 原文地址:https://www.cnblogs.com/wujixing/p/5454029.html
Copyright © 2020-2023  润新知