第一章 Spring概述
1.1 认识Spring
Spring是分层的JavaSE/EE应用一站式的轻量级开源框架,以IOC(Inverse of Control)和AOP(Aspect Oriented Programming)
1.2 关于SpringSource
Spring作者成立的公司。
1.3 Spring带给我们什么
1. 方便解耦,简化开发:
通过IOC容器,使用反射直接从配置文件中读取类名,避免硬编码所造称的过度程序耦合。
2. AOP编程的支持
1.4 Spring体系结构
Data Access/Integration: JDBC、ORM、OXM、JMS、Transactions
Web/Remoting: Web、Servlet、Struts、Portlet
AOP
IOC
1.5 Spring3.0新功能
1. 核心API更新到JAVA5.0,即采用了泛型
2. Spring表达式语言SpEl(Express Language)
<bean id="bean1" class="com.liwenguang.Bean1">
<bean class="com.liwenguang.Bean2">
<property name="userName" value="#{bean1.userName}"/>
<property name="password" value="#{bean1.password}"/>
</bean>
<!--#{}表示的部分就是使用了SpEL表达式的配置-->>
3. 可通过Java类提供IOC配置信息
XML配置方式,基于注解的配置方式,Spring3.0提供了基于Java类的配置方式。而最新基于Java类的配置方式非常灵活。
>package org.example.conflg;
>@Configuration
>public class AppConfig{
private
@Value("#{jdbcProperties.url}")
String jdbcUrl;
@Bean
public FooService fooService(){
return new FooServiceImpl(fooRepository());
}
}
4. 通用类型转换系统和属性格式化系统
5. 数据访问层新增OXM
OXM(Object to XML,对象XML映射),它通过元数据描述对象和XML转换的映射。
6. Web层的增强
2.5版本中的注解如:@Controller,@Request Mapping等。新增了@CookieValue,@RequestHeaders
7. 其他
声明式模型验证:
对JavaEE6的支持:
支持内嵌的数据库:
1.6 Spring对Java版本的要求
基于JavaSe5.0,全面支持JavaSE6.0,运行Spring3.0必须是用JDK5.0以上版本,如果要变异Spring3.0则必须使用JDK6.0
1.7 如何获取Spring
http://repo.spring.io/release/org/springframework/spring
1.8 小结
Spring在Bean配置、OXM、动态语言、SpringMVC的第一开源框架的领导地位。