zoukankan      html  css  js  c++  java
  • Spring学习笔记(一)-控制反转

    控制反转:

       把对象的创建交给spring容器来做

          spring容器创建对象的方式

             1、默认是调用默认的构造函数

             2、利用静态工厂方法创建

                 spring调用工厂方法产生对象,但是真正创建对象还是由程序员来完成的

             3、实例工厂方法

            说明:

               spring配置文件中,只要是一个bean就会为该bean创建对象

          spring容器创建对象的时机

            在单例的情况下

             1、在默认的情况下,启动spring容器创建对象

             2、在spring的配置文件bean中有一个属性lazy-init="default/true/false"

                   1、如果lazy-init为"default/false"在启动spring容器时创建对象

                   2、如果lazy-init为"true",在context.getBean时才要创建对象

               意义:

                    在第一种情况下可以在启动spring容器的时候,检查spring容器配置文件的正确性,如果再结合tomcat,

                    如果spring容器不能正常启动,整个tomcat就不能正常启动。但是这样的缺点是把一些bean过早的放在了

                    内存中,如果有数据,则对内存来是一个消耗

                    在第二种情况下,可以减少内存的消耗,但是不容易发现错误

            在多例的情况下

                就是一种情况:在context.getBean时才创建对象

          spring的bean中的scope

            1、由spring产生的bean默认是单例的

            2、可以在spring的配置文件中,scope的值进行修改="singleton/prototype/request/session/global session"

            3、如果spring的配置文件的scope为"prototype",则在得到该bean时才创建对象

          spring容器对象的生命周期:

            1、spring容器创建对象

            2、执行init方法

            3、调用自己的方法
  • 相关阅读:
    智器SmartQ T7实体店试用体验
    BI笔记之SSAS库Process的几种方案
    PowerTip of the Day from powershell.com上周汇总(八)
    PowerTip of the Day2010071420100716 summary
    PowerTip of the Day from powershell.com上周汇总(十)
    PowerTip of the Day from powershell.com上周汇总(六)
    重新整理Cellset转Datatable
    自动加密web.config配置节批处理
    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable
    在VS2003中以ClassLibrary工程的方式管理Web工程.
  • 原文地址:https://www.cnblogs.com/toge/p/6114674.html
Copyright © 2011-2022 走看看