zoukankan      html  css  js  c++  java
  • Spring容器的基本使用

    1)如何将一个Bean组件交给Spring容器

      方法:在applicationContext.xml中添加以下定义

      <bean id = “标识符” class = “Bean组件类型”></bean>

    2)如何获取Spring容器对象
      ApplicationContext context = new ClassPathXmlApplicationContext("/applicationContext.xml");

      利用context.getBean(“标识符”)方法获取容器中的Bean对象。

    3)如何控制对象创建的模式

      Spring中的Bean默认支持两种模式:singleton 和 prototype。

      UserDAO userDAO = (UserDAO) context.getBean("UserDAOID");

      UserDAO userDAO1 = (UserDAO) context.getBean("UserDAOID");

      System.out.println(userDAO == userDAO1);  ----------->>>>  true  

      即:默认模式是单例模式

      在Bean 里追加 scope = “prototype”  原型模式  ------>>>false

      以后的话,应用在Web 程序中(前提),通过扩展,还可以使用 request、session等值,那么一个request(session)就创建一个Bean。

    4) Bean对象的创建时机

      Singleton模式的Bean组件是在容器实例化时创建;prototype是在调用getBean()方法时创建。

      singleton模式也可以利用<bean>元素的lazy-init = “true”(延迟实例化)将对象创建工作推迟到getBean()方法。

      如果想把容器当中所有的单例Bean组件都给推迟,则需要在根目录那追加属性,他里面有个default-lazy-init = “true”    一般还是根据默认的,在容器实例化时创建比较好。

    5) Bean对象指定初始化和销毁方法

      可以利用<bean>元素的init-method 属性,指定初始化方法;利用destroy-method 属性指定销毁方法。

      指定的初始化方法是在构造方法调用后自动执行。(构造方法只要调用一次,这个方法肯定调用一次,单例模式初始化只调用一次)
      指定的销毁方法是在容器close时触发,而且只适用于singleton组件。

  • 相关阅读:
    pytest测试框架的简单应用
    windows下Docker无法正常启动-The system cannot find the file specified
    docker-centos6.9 /etc/rc.d/init.d/functions: No such file or directory解决方法
    All TAP-Windows adapters on this system are currently in use.
    DNS服务器配置named.ca详解
    python单元测试unittest常用断言
    python学习之异常
    python学习之元类
    python学习之property进阶
    python学习之描述符自制property
  • 原文地址:https://www.cnblogs.com/qzhc/p/11252861.html
Copyright © 2011-2022 走看看