SpringIOC

spring简介

Spring是分层full-stack轻量级开源框架,以ioc(inverse of control反转控制)和Aop(面向切面编程)为内核

优点:

1.方便解耦,简化开发

通过spring提供的ioc容器,将对象间的依赖关系交由spring进攻控制,避免硬解码造成过渡耦合。用户可以更专注上层应用。

2.AOP编程的支持

通过spring的AOP功能,方便进行面向切面编程,许多不容易用传统oop实现的功能可以通过AOP实现。

3.声明式事务的支持

可以免除事务管理代码,通过声明方式灵活的进行事务管理,提高开发效率。

4.方便程序的测试

可以用非容器依赖的编程方式进行所有测试工作,测试非常方便。

5.方便集成各种框架

spring对(Struts,Hibernate,Hessian,Quartz等)支持

6.降低javaee api使用难度

spring对api(jdbc,javamail,远程调用)进行封装层,使这些api使用难度降低。

7.spring源码

spring源码对java设计模式灵活运用,值得学习。

spring体系结构

 spring程序开发步骤

1.导入spring开发基本包坐标

2.编写Dao接口和实现类

3.创建spring核心配置文件

4.在spring配置文件中配置userDaolmpl

5.使用spring的api获得bean实例 

IOC底层原理

1.xml解析、工厂模式、反射

工厂模式

 

 ApplicationContext:BeanFactory接口的子接口,提供更强大功能,由开发人员使用

加载配置文件时就会把配置文件对象进行创建

IOC操作Bean管理

Bean管理指的是(1)Spring创建对象(2)Spring注入属性

基于xml方式创建对象

基于xml方式注入属性

DI:依赖注入

1.set方式注入 

2.有参构造方式注入

p名称空间注入

原来的注入方式

 

xml注入其他类型属性

 注入对象

xml注入集合属性

工厂Bean 

普通bean:在配置文件中定义bean类型就是返回类型

工厂bean:在配置文件中定义bean类型可以和返回类型不一样

1.创建类,作为工厂bean,实现接口FactoryBean

2.实现接口里面的方法,定义返回bean类型

 

 bean作用域

在Spring里面,设置创建bean实例是单实例还是多实例

在Spring里面,默认情况下,bean是单实例对象

scope分singleton和prototype

 

 bean生命周期

1.通过无参构造创建bean实例

2.为bean的属性设置值和对其他bean引用(调用set方法)

3.调用bean的初始化方法(进行配置)

4.bean对象获取后可以使用

5.当容器关闭,调用bean销毁方法(需要进行配置销毁方法)

 

 在第三步执行初始化方法之前

把bean实例传递给bean前置处理器的方法postProcessBeforeInitialization

 在第三步执行初始化方法之后

把bean实例传递给bean后置处理器的方法postProcessAfterInitialization

XML自动装配

1.根据指定装配规则(属性名称或者属性类型)Spring自动将匹配的属性值进行注入

2.(1)根据属性名称自动注入

注解方式操作Bean管理 

组件扫描配置

 注解

@ Autowired:根据属性类型进行自动装配

@Qualifier:根据属性名称进行注入

@Resource:可以根据属性类型进行注入,也可以属性名称进行注入

@Value:注入普通类型属性

Autowired和Qualifier一起使用

注解创建对象

1.把service和dao对象创建,在service和dao类添加创建对象注解

2.在service注入dao对象,在service类添加dao类型属性,属性上面使用注解

纯注解开发

1.创建配置类,替代xml配置文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值