学习目标
- 了解JavaEE7 基本体系
- 了解Spring发展演进
- 了解Spring核心功能及模块
- 了解资源表示形式
- 了解Spring资源访问
Spring起源
框架目标
- 使用声明式事务
- 框架整合
JavaEE
- 是sun公司指定的一套java开发规范
- 由一系列的JSR(Java Specification Requests)组成
Spring与JavaEE
- Spring仅支持部分JSR
- Spring是轻量级框架,EJB是重量级框架(组件)
- Spring的出发点是使用声明式事务代替EJB
Spring Framework
核心功能:
- IoC容器
- Bean的生命周期
- SpEL
- AOP容器
核心功能就是读取配置信息,使用一个或者多个IoC容器,在业务需要时自动构建出来使用的Java Bean。
AOP:面向切面编程
数据层(持久层):核心是使用声明式事务管理持久层操作
Web层:开发了SpringMVC
模块组成
Spring资源管理
- UrlResource:使用http协议访问远程资源
- ClasspathResource:项目中bin文件夹下的内容
- FileSystemResource:磁盘上的绝对路径
- ServletContextResource:在web环境下获取路径
- InputStreamResource:输入流
- ByteArrayResource:字节数组
资源协议与路径
-
Spring使用Resource接口访问底层资源:
-
使用ResourceLoader接口加载资源:注意,Spring的IoC容器实现了上述接口,因此可以随时加载资源。在Spring项目中,经常使用的资源访问类是ApplicationContextextends ResourcePatternResolver extends ResourceLoader
资源访问
- 从配置中获取资源:
- web环境下,使用ConfigurableWebApplicationContext extends WebApplicationContext读取sevlet的配置信息,然后使用getInitParameter加载配置信息
- 其次,还可以使用全局配置+监听器的方式
- 非web环境下获取资源:
- 从classpath中加载资源
- 从当前程序运行的工作目录,用相对路径加载资源
- 使用指定前缀,从classpath中加载资源
- 使用*(通配符)加载资源
- classpath只加载指定的第一个路径
- classpath*加载所有的classpath路径下的资源