Spring IOC 生命周期LifeCycle

lazy-init (不重要)

 init-method destroy-methd 不要和prototype一起用(了解)

 

lazy-init=true延迟加载类
在Spring容器初始化时,不初始化该bean,很少用
当new ClassPathXmlContext时,Spring容器初始化时会加载全部Bean放到内存


当Spring容器中配置了很多个Bean,而经常需要重启时,则配置它

Spring是IOC容器,负责实例化Bean,负责把属性装配到Bean上

 

init-method destroy-methd 用于初始化Bean时执行的方法,和销毁方法

不要和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>

--------------------------------------------

public class UserService {
 
 private UserDAO userDAO; 
 
 public void init() {
  System.out.println("init");
 }
 

//.............
 
 public void destroy() {
  System.out.println("destroy");
 }
}

你可能感兴趣的:(spring ioc)