spring IOC相关知识

认识Spring框架

Spring是一个开源的控制反转(Inversion of Control, IoC)和面向切面(Aspect Oriented Programming, AOP)的轻量级的容器框架.

控制反转(IOC) 是Spring 框架的核心,用于消减代码耦合问题 指的是创建对象控制权的翻转。

不用Ioc:所有对象开发者自己创建;

使用Ioc对象不用开发者创建,而是交给Spring框架来完成,将Bean交给Spring容器来创建

Spring为Bean定义了如下作用域:

singleton:在Spring 的IOC容器中只存在一个实例,所有对该对象的引用将共享这个实例。该实例从容器启动,并且因为第一次被请求而初始化之后,将一直存活到容器退出。也就是说,它与IOC容器“几乎”拥有相同的“寿命”。是scope的默认方式。

prototype:Spring IOC容器将为每次获取实例的请求创建一个新的实例,每个实例都有自己的属性和状态。该实例由请求方自己负责当前返回对象的后继生命周期的管理工作,包括该对象的销毁。

request:在一次Http请求中,容器会返回该Bean的同一实例。而对于不同的Http请求则会产生新的Bean实例。当请求结束后,该实例也将会被销毁。

session:在一次Session(会话)中,容器会返回Bean的同一实例。对于不同的会话则会创建新的实例。当会话结束后,该实例也将被销毁。

1. **依赖注入(Dependency Injection)** :它是Spring框架核心IOC的具体实现。通过控制反转,把对象的创建交给了Spring。IOC解耦只是降低他们的依赖关系,但不会消除。例如:业务层仍会调用持久层的方法。那这种业务层和持久层的依赖关系,在使用Spring之后,就让Spring来维护了。简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。

2. Bean的依赖注入方式:

基于XML配置的依赖注入通常有两种注入方式

一种是使用属性的setter方法注入 ;另一种是使用构造方法注入

3. Bean依赖注入的数据类型(普通)

   * 普通数据类型

   * 引用数据类型

   * 集合数据类型

一、配置Bean的注解 :

@Component(组件):可以作用在任何层次上

@Repository:用于数据访问层(DAO)

@Service:用于业务逻辑层(Service)

@Controller:用于控制器层(Controller)

@Configure:用于配置作用的类

二、完成依赖注入的注解 :

@Autowired:通过该注解可以消除setter和getter方法,默认按照Bean的类型进行装配

@Resource:和@Autowired功能是一样的,区别在于该注解默认是按照名称(id)来装配注入的,通过name来指定Bean实例名称

@Qualifier:该注解与@Autowired注解配合使用,当@Autowired注解需要按照名称来装配注入时,使用该注解指定Bean实例名称

默认id首字母小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值