zoukankan      html  css  js  c++  java
  • Spring(四):Bean实例化及属性注入

    一、Spring容器简单原理

    • 通过前面的学习我们了解到spring容器帮助我们管理对象和维护对象的依赖关系,其实spring就是通过工厂模式实现的

      • 读取配置文件

      • 根据配置信息,通过反射方式创建对象

     

    二、工厂接口关系

    • 我们一般会使用ClassPathXmlApplication或者FileStreamXmlApplicationContext,不会直接使用BeanFactory

      • ClassPathXmlApplicationContext根据类路径获取  

      • FileStreamXmlApplicationContext根据文件路径获取  

    • 使用ApplicationContext和使用BeanFactory的区别

      • BeanFactory采用的是延迟加载的方式加载bean,只有在去getBean时才会去加载该bean

        •   
        •   
      • ApplicationContext在加载配置文件时就会加载所有的bean
        •   

    三、Bean实例化的几种方式

    • 我们最常用的就是无参构造方式去实例化Bean

    • 无参构造方式:

      • 注意这种方式,在bean类中必须提供一个无参的构造函数

    • 静态工厂方式

      • package com.zhurouwangzi.entity;
        ​
        public class PersonFactory {
            public static Person createPerson(){
                return new Person();
            }
        }

         

    • 实例工厂方式

      • package com.zhurouwangzi.entity;
        ​
        public class PersonFactory {
            public Person createPerson(){
                return new Person();
            }
        }
      • 我们运行一下可以看到效果相同

    四、属性注入

    • 在spring中属性注入有两种:构造器注入和setter注入

    • 构造器注入

      • 在Person类中添加一个带参的构造函数

      • 运行看效果:

      • 注意这里我们无参的构造函数没有被执行

    • setter方法注入

      • 注意这里,无参的构造函数被执行了

    转载请注明出处:https://www.cnblogs.com/Infancy/p/12588463.html

  • 相关阅读:
    1269 匈牙利游戏 2012年CCC加拿大高中生信息学奥赛
    2577 医院设置
    2488 绿豆蛙的归宿
    3315 时空跳跃者的魔法
    1079 回家
    1365 浴火银河星际跳跃
    1074 食物链 2001年NOI全国竞赛
    2596 售货员的难题
    wetask.cn领度任务全新试用体验
    多线程--生产者消费者--简单例子
  • 原文地址:https://www.cnblogs.com/Infancy/p/12588463.html
Copyright © 2011-2022 走看看