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、调用自己的方法
  • 相关阅读:
    在centos7.4上安装confluence-6.7.1
    用rpm包在centos7.4上安装mysql-5.7.29-1.el7.x86_64
    Linux系统运维笔记,CentOS 7.4防火墙配置
    Linux系统运维笔记(6),CentOS 7.6双网卡路由配置
    Linux系统运维笔记(五),CentOS 6.4安装java程序
    Java 构造 BSON 数据类型
    Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
    设计模式(5)原型模式(Prototype)
    设计模式(4)建造者模式/生成器模式(Builder)
    设计模式(3)抽象工厂模式(Abstract Factory)
  • 原文地址:https://www.cnblogs.com/toge/p/6114674.html
Copyright © 2011-2022 走看看