【Java】Spring框架
前言
小编在学习动力节点SSH的项目,是对于之前动力节点DRP项目的框架重构,添加了SSH框架,即Struts+Spring+Hibernate的一个集成框架,一种Web应用程序开源框架。下面主要介绍其中的一个内容Spring。
Spring是一个框架吗
一、Spring是一个开源框架,由Rod Johnson创建
二、目的:解决企业应用开发的复杂性
三、功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
四、范围:任何Java应用
五、核心:管理对象
Spring是什么样的框架
一、Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架
二、轻量
1.大小:完整的Spring框架可以在一个只有1MB多的JAR文件里发布。
2.开销:Spring是非侵入式,Spring应用中的对象不依赖于Spring的特定类。
三、控制反转
1.管理对象:事务(动态代理)、数据库连接关闭(代理)、发现对象(工厂方法)
2.IOC与JNDI相反
IOC 一个对象依赖的其它对象会通过被动的方式传递进来;不是像JNDI,对象自己创建或者查找依赖对象。
3.好处
- 减少大量Factory、singleton
- 轻量级、无侵入性、
- 提供了AOP声明式服务能力
- 面向接口
- 减少耦合,推迟到配置文件中
四、面向切面
1.内聚性
分离应用的业务逻辑与系统级服务(如审计auditing和事务transaction管理),应用对象只关注业务逻辑,不负责其他的系统级关注点,如日志或事务支持。
2.常用概念
Cross Cutting Concern--独立、流程
Aspect--模块化
Advice--具体实现
Pointcut--应用到joinpoint
Weave--advice->Target Object 动态织入
Target Object
Proxy--Spring AOP JDK动态代理
Introduction--动态添加方法
五、容器
Spring包含并管理应用对象的配置和生命周期
六、框架
Spring可以进行简单的组件配置、组合成为复杂的应用,也提供了事务管理、持久化框架集成等,在一个XML文件中应用对象被声明式组合。
小结
所有的Spring的特征,都可以帮助我们编写更干净、更可管理、并且更易于测试的代码,同时也为Spring中的各种模块提供了基础支持。
感谢您的访问!