Spring

本文聚焦Spring框架,介绍了BeanFactory和ApplicationContext的区别,前者是后者的父接口,建议使用后者。还阐述了spring的bean常见属性,如scope(单例或原型模式)、autowire(自动装配方式),以及属性注入的两种方式:设值注入和构造注入,各有优缺点。

Spring

Spring的BeanFactory和ApplicationContext的区别

BeanFactory是ApplicationContext的的父接口,BeanFactory接口定义了一些spring工厂最底层的使用方法,一般在spring的源代码中我们使用BeanFactory,当该类不建议程序员直接使用,建议程序员使用ApplicationContext接口,该接口对BeanFactory功能进行了一些扩展:

  1. 提供spring的国际化支持
  2. 提供了事物的处理方式
  3. 可以加载多个主题配件

spring的bean的常见属性

scope

scope用来配置被俺对象但是否单例模式。单例模式是java的二十三中模式之一,只在这个项目运行过程中一各类的队形只会实例化一次。一般,工厂类的对象都是单列模式,可以配置bean的scope属性, scope常见有两种取值:

  1. springleton 默认值 :单列模式
  2. prototype 原型模式 多列模式
    单列模式下,对象是工厂初始化的时候创建的。
    多列模式是在工厂初始化,获得对象后创建的。

autowire

autowire使用配置属性的默认值的装配方式。有三个取值

1.no:默认值不启用自动装配
2 byType:根据类型自动装配

  1. byName:根据名称自动装配,一般bean的name如果不声明默认值就是id

spring的bean属性注入的两种方式

1. 设值注入

		设值注入要求:
				要求属性在实体类中必须有getter和setter方法,然后在spring的工厂中就可以使用property标签进入设值注入

2. 构造注入

构造注入通过类的构造方式注入
设值注入的优点:使用比较直观,以后项目中大多数情况采用设值注入。
缺点:必须给属性生成个getter和setter
构造注入的优点:不用给属性生成getter和setter方法
缺点:但看起来部太直观
@component注解
与我们使用bean的方式创建对象,加了@component注解的类会在工厂中创建对象,改对象的id为@component注解的名称,但是首字母要小些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值