美文网首页轻量化框架技术
第二章:Spring中的bean

第二章:Spring中的bean

作者: Y_Jaaao | 来源:发表于2020-04-01 08:03 被阅读0次

什么是实例化

  • Vehicle v1 = new Vehicle();
    通常把这条语句的动作称之为创建一个对象,也就是实例化,其实,它包含了四个动作。
    1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。
    2)末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。
    3)左边的“Vehicle v1”创建了一个Vehicle类引用变量,所谓Vehicle类引用,就是以后可以用来指向Vehicle对象的对象引用。
    4)“=”操作符使对象引用指向刚创建的那个Vehicle对象。

Bean的配置

  • Spring支持2种格式的配置文件:Properties文件、xml文件(最常使用)。通过xml文件来注册并管理bean之间的依赖关系

bean的实例化

  • 在Spring中,要想使用容器中的bean,就要实例化bean。实例化bean的3种方式:
    1.构造器实例化(最常用):无参构造方法 构造器实例化1.JPG 构造器实例化2.JPG

2.静态工厂方式实例化:要求自己创建一个静态工厂的方法来创建bean的实例

静态工厂方式实例化1.JPG 静态工厂方式实例化2.JPG 静态工厂方式实例化3.JPG

3.实例工厂方式实例化:直接创建bean实例的方法。在xml配置文件中,通过factory-bean属性配置一个实例工厂,然后使用factory-method属性确定使用工厂中哪个方法。

实例工厂方式实例化1.JPG 实例工厂方式实例化2.JPG 实例工厂方式实例化3.JPG

bean的作用域

bean的作用域.JPG
1.singleton作用域(单例)(Spring容器默认的作用域):当bean的作用域为singleton时,Spring容器只会存在一个共享的bean实例。singleton作用域对于无会话状态的bean(如Dao组件、Service组件)来说,是最理想的选择。 singleton.JPG
singleton.JPG
2.prototype作用域(原型):对需要保持会话状态的bean(如struts2的Action类)应该使用prototype作用域。在使用该作用域时,spring容器会为每个对该bean的请求创建一个新的实例
  • 要将Bean定义为prototype作用域,只需在配置文件中将<bean>元素的scope属性值设置为prototype即可


    prototype.JPG

bean的生命周期

  • 常在bean的postinitiation(初始化后)和predestruction(销毁前)执行一些相关操作 生命周期.JPG
    Life.JPG
    xml.JPG

LifeTest.JPG

bean的装配方式(即bean依赖注入的方式)

  • 1. 基于xml的装配
    (1) 设值注入
    设值注入.JPG

(2) 构造注入


构造注入.JPG
user.JPG
xml.JPG
test.JPG
  • 2. 基于注释(Annotation)的装配(最常用)
    Annotation.JPG
    UserDao.JPG
    Impl.JPG
    UserService.JPG
    ServiceImpl.JPG
    Controller.JPG
    xml.JPG
    test.JPG
  • 3. 自动装配
    自动装配.JPG

相关文章

网友评论

    本文标题:第二章:Spring中的bean

    本文链接:https://www.haomeiwen.com/subject/ljzzyhtx.html