spring容器对Bean组件的管理

spring容器对Bean组件的管理

1. Bean对象创建时机

    默认是随着容器创建,可以使用lazy-init=true (在调用getBean创建) 
    延迟创建,也可以使用<beans  default-lazy-init=true>   批量延迟创建  

2. Bean对象创建模式

  • 默认是单例模式,可以使用scope属性改变
  • singleton:单例,每次调用getBean返回同一个对象
  • prototype:原型,没调用getBean返回新对象
  • request:仅限于Web环境,表示bean对象生命周期和request生命周期相同
  • session:仅限于Web环境,等同于Web中的session
  • global session:仅限于Web环境,等同于Web中的Application

3、Bean的销毁

  • init-method属性用于指定初始化方法
  • destory-method属性用于指定销毁方法,仅适用于singleton模式

DI依赖注入
DI(依赖注入)是IOC实现的重要技术,2种方式:
1、setter方法注入
2、构造方式注入
注入类型:简单值、集合、Bean对象

IOC和DI关系
Spring是具有IOC特性的框架
实现IOC是由Spring容器来完成的,Spring容器通过依赖注入DI建立起对象(组件、Bean)之间的关系
DI是IOC实现的一种手段,IOC通过DI来实现

4、注解配置方式

  • 常用配置方式有XML文档配置,还有一种是通过注解方式配置
  • 采用注解方式的目的就是为了简化XML模式
  • 注解方式(注释)是JDK5版本提供的,之前的版本不支持。既JDK1.4及以下版本不支持
  • Spring2.5版本后支持注解方式,之前的不支持

1)组件自动扫描功能( 首先需要在applicationContext.xml中添加context:componet-scan/)

a、扫描Bean组件的注解,替代XML中的元素的定义
@Service用于Service业务组件
@Control用于Action控制组件
@Responsitory用于DAO数据库访问组件
@Component用于其他组件
Bean组件扫描到容器后,默认名字为类名(首字母小写)如果需要自定义名称可以使用@service(“id名”)

b、依赖注入的注解标记
@Resource按名称@resource(name=“id名”)
JDk提供的先按类型后按名称来自动装配
@AutoWirde自动名称
@Qualifier(“id名”)
Spring提供的先按名称后按类型来自动装配
@AutoWirde自动名称
@Qualifier(“id名”)
@AutoWirde和 @Resource功能相同,@AutoWirde也是用于自动装配的 ,就是在自定义名称是需要再多加一个 @Qualifier(“id名”)
来指定自定义名称。 @AutoWirde后不能直接使用自定义名称
c、其他注解
@scope等价于
@PostConstruct 等价于
@PreDestory等价于
注解方式和XML形式各有优劣,注解方式现在比较流行
注解方式的优点是使用方便,缺点是java代码掺合在一起,不好修改
XML方式的优点是修改方便,缺点是配置工作量大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值