zoukankan      html  css  js  c++  java
  • bean 的生命周期

    就是在new ClassPathXMLApplicationContext 的时候是否就直接在内存中new 出来,如果是对象比较的情景下 ,为了提高程序初始化的速度,可以用用。

    如果设置为 true 了,只有在调用 getBean 等方法获取的时候,才实例化类

    配置:

       1 lazy-init="true" ,可取的值 true/false/default

    类的生命周期开始调用的方法: 1 init-method="init" 

    类的生命周期结束调用的方法: 1 destroy-method="destroy" 

    UserService 类:

    复制代码
     1 package com.bjsxt.service;
     2 
     3 import com.bjsxt.dao.UserDAO;
     4 import com.bjsxt.model.User;
     5 
     6 public class UserService {
     7     
     8     private UserDAO userDAO;
     9     
    10     public void init(){
    11         System.out.println("init");
    12     }
    13     
    14     public UserService(UserDAO userDAO){
    15         super();
    16         this.userDAO = userDAO;
    17     }
    18     
    19     public void addUser(User u){
    20         this.userDAO.save(u);
    21     }
    22 
    23     public UserDAO getUserDAO() {
    24         return userDAO;
    25     }
    26 
    27     public void setUserDAO(UserDAO userDAO) {
    28         this.userDAO = userDAO;
    29     }
    30     
    31     public void destroy(){
    32         System.out.println("destroy");
    33     }
    34     
    35 }
    复制代码

    UserService的xml配置:

    1   <bean id="userService" class="com.bjsxt.service.UserService" scope="prototype" lazy-init="true" init-method="init" destroy-method="destroy">
    2        <constructor-arg>
    3            <ref bean="u"/>
    4        </constructor-arg>
    5   </bean>

    代码链接: http://pan.baidu.com/s/1kUVlB0r 密码: cum2

    jar包链接: http://pan.baidu.com/s/1qYRTGEo 密码: fejx

  • 相关阅读:
    安装和配置SQL
    自定义中间件封装为模块
    留言板
    Spring Factories机制
    JVM参数配置
    全链路监控的方案概述与比较
    Lombok注解-@SneakyThrows
    @FeignClient注解 中属性 contextId使用
    @validate或@valid注解进行数据校验的解决方案
    maven的settings.xml标签详解
  • 原文地址:https://www.cnblogs.com/XuYiHe/p/6893347.html
Copyright © 2011-2022 走看看