部分内容来源于https://www.imooc.com/learn/196学习整理的一些笔记方便自己回看
一、spring是什么
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
特点
1.从大小与开销两方面而言spring都是轻量级的
2.通过控制翻转(IoC)技术达到轻松耦合的目的
3.提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统进行内聚性对的开发
4.包含并管理应用对象的配置和生命周期,这个意义上是一种容器
5.将简单的组件配置,组合成为复杂的应用,这个意义上是框架
开发java ee开发过程:
1、web层 controller
2、业务逻辑层 service
3、持久层 dao 数据库
Spring给出了解决方案:
1、web层 springMVC
2、业务层 spring bean管理/ioc以及事务的管理
3、持久层 jdbc模板 jdbc template orm框架 (持久层和mybatis整合)
优点:
1、方便解耦,简化开发
2、Aop编程支持 切面编程
3、声明式事务的支持
4、方便程序的测试 – junit4
5、方便集成其他框架 – 开源的 Struts、Hibernate、Mybatis
6、降低使用java ee的开发难度
适用范围
1.构建企业应用(SpringMVC+Spring+Hibernate/ibats)
2.单独使用AOP进行切面处理
3.其他的Spring功能,如:对消息的支持等
4.在互联网中的应用
二、框架
框架的特点
1.半成品
2.封装了特定的处理流程和控制逻辑
3.成熟的,不断改进的软件
框架和类库的区别
1.框架一般是封装了逻辑,高内聚的,类库则是松散的工具组合
2.框架专注于某一领域,类库则是通用的
三、IOC
什么是IOC
1.IOC控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护
2.DI(Dependency Injection依赖注入)是其一种实现方式
3.目的:创建对象并且组装对象之间的关系
四、Bean容器的初始化
基础
Org.springframework.beans
Org.springframework.context
BeanFactory提供配置结构和基本功能,加载并 初始化Bean
ApplicationContext保存了Bean对象并在Spring中被广泛使用
方式,ApplicationContext
1.本地文件
2.Classpath
3.Web应用中依赖servlet或Listener
例子
五、Spring注入
Spring的属性注入-----xml
1、构造函数的注入
2、属性setter方法的注入
第一种:
第二种:
Spring的属性注入–p名称空间的注入
1、spring2.5以后
2、P:<属性名>=“xxx”引入一个常量值
3、P:<属性名>-ref=“xxx”引入其他Bean对象
Spring的属性注入–Spel注入
Spel Spring experssion language 表达式语言
#{}
#{‘hello’}字符串
beanId 对象
beanId.content.touppercase() 使用方法
(Math.PI) 使用静态字段和方法
复杂类型的属性注入
数组、集合;
Spring去整合其他框架使用到properties
1.设值注入
2.构造注入