Spring 框架说明
2016-03-10 10:04:59 36 举报
AI智能生成
Spring 框架说明
作者其他创作
大纲/内容
几个特性与概念
IoC 控制反转
一个通用的概念,它可以用许多不同的方式去表达,依赖注入仅仅是控制反转的一个具体的例子
DI 依赖注入
控制反转的依赖注入(DI)模式
AOP 面向方面的程序设计
有各种各样常见的很好的关于方面的例子,比如日志记录、声明性事务、安全性,和缓存等等
体系结构
Core Container 核心容器
Core 核心模块
基本组成部分,包括 IoC 和依赖注入功能
Bean 模块
提供 BeanFactory,它是一个工厂模式的复杂实现
Context 上下文模块
建立在由核心和 Bean 模块提供的坚实基础上,它是访问定义和配置的任何对象的媒介。
ApplicationContext 接口是上下文模块的重点
SpEL 表达式语言模块
在运行时提供了查询和操作一个对象图的强大的表达式语言
Data Access/ Integration 数据访问/集成
JDBC
删除冗余的 JDBC 相关编码的 JDBC 抽象层
ORM
为流行的对象关系映射 API,包括 JPA,JDO,Hibernate 和 iBatis,提供了集成层
OXM
提供了抽象层,它支持对 JAXB,Castor,XMLBeans,JiBX 和 XStream 的对象/XML 映射实现
JMS
Java 消息服务 JMS 模块包含生产和消费的信息的功能
Transaction 事务模块
事务模块为实现特殊接口的类及所有的 POJO 支持编程式和声明式事务管理
Web
Web Basis
提供了基本的面向 web 的集成功能,例如多个文件上传的功能和使用 servlet 监听器和面向 web 应用程序的上下文来初始化 IoC 容器
Web-MVC
包含 Spring 的模型-视图-控制器(MVC),实现了 web 应用程序
Web-Socket
为 WebSocket-based 提供了支持,而且在 web 应用程序中提供了客户端和服务器端之间通信的两种方式
Web-Portlet
提供了在 portlet 环境中实现 MVC,并且反映了 Web-Servlet 模块的功能
其他模块
AOP
提供了面向方面的编程实现,允许你定义方法拦截器和切入点对代码进行干净地解耦
Aspects
提供了与 AspectJ 的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架
Instrumentation
Messaging
TEST 测试模块
Junit
TestNG
配置步骤
JDK
PATH
JAVA_HOME
Apache Commons Logging API
安装 Eclipse IDE
引入Spring 框架
Hello World Demo
IoC 容器 (Spring 容器)
BeanFactory
基本的容器
XmlBeanFactory
ApplicationContext
特性:添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力
实现方式
FileSystemXmlApplicationContext
ClassPathXmlApplicationContext
WebXmlApplicationContext
子主题
Bean
Spring 配置元数据
基于 XML 的配置文件
基于注解的配置
基于 Java 的配置
Scope 作用域
singleton (默认)
prototype
注:Spring不能对一个prototype bean的整个生命周期负责
request (HTTP)
session (HTTP会话)
global-session (全局HTTP会话)
生命周期
后置处理器
自动装载
By Name
By Type
构造函数
依赖注入DI
基于构造函数
基于setter方法
Spring 事件处理
描述:如果一个 bean 实现 ApplicationListener,那么每次 ApplicationEvent 被发布到 ApplicationContext 上,那个 bean 会被通知
内置事件
ContextRefreshedEvent
ContextStartedEvent
ContextStoppedEvent
ContextClosedEvent
RequestHandledEvent
自定义事件
AOP
概述:统一维护,如事务处理,在每个需要打开事务关闭事务的service中进行统一管理
主要概念
切面 (Aspect)
连接点(Joinpoint)
通知(Advice)
切入点(Pointcut)
引入(Introduction)
目标对象(Target Object)
AOP代理(AOP Proxy)
织入(Weaving)
需要关注的三部分
定义普通业务组件
定义切入点,一个切入点可能横切多个业务组件
定义增强处理,增强处理就是在 AOP 框架为普通业务组件织入的处理动作
实现方式
基于 Annotation 的“零配置”方式
1、启用 Spring 对 @AspectJ 切面配置的支持
2、定义切面 Bean
当启动了@AspectJ 支持后,只要在 Spring 容器中配置一个带@Aspect 注释的 Bean, Spring 将会自动识别该 Bean 并作为切面处理
3、定义 Before 增强处理
@Before("execution(* com.wicresoft.app.service.impl.*.*(..))")
4、定义 AfterReturning 增强处理
@AfterReturning(returning="rvt", pointcut="execution(* com.wicresoft.app.service.impl.*.*(..))")
5、定义 AfterThrowing 增强处理
@AfterThrowing(throwing="ex", pointcut="execution(* com.wicresoft.app.service.impl.*.*(..))")
6、定义 After 增强处理
@After("execution(* com.wicresoft.app.service.impl.*.*(..))")
7、Around 增强处理
@Around("execution(* com.wicresoft.app.service.impl.*.*(..))")
8、访问目标方法的参数
9、定义切入点
基于 XML 配置文件的管理方式
主要的功能
日志记录
性能统计
安全控制
事务处理
异常处理
JDBC 框架
JdbcTemplate类
事务处理
Web MVC
自由主题
0 条评论
下一页
为你推荐
查看更多