很多基础理论知识,如果长时间不看的话,那么很容易就会忘掉,今天就来回顾一下Spring的基础知识吧
Spring的体系结构
在Spring中,核心功能被有组织的分配到约二十多个模块中,这些模块分布在测试(Test)、核心容器(Core Container)、面向切面编程(AOP)、植入(Instrumentation)、消息传输(Messaging)、数据的访问/集成(Data Access/Integration)、Web集成等核心模块中。
核心容器(Core Container)
Spring的核心容器是其他模块建立的基础,主要包括Spring-beans、Spring-core、Spring-Context、Spring-context-support、Spring-expression等模块。
- Spring-core模块是框架的基本组成部分,提供了“控制反转”和“依赖注入”等功能。
- Spring-beans模块主要是用来提供一个对象工厂BeanFactory,用来创建管理对象bean。
- Spring-context 通常称为Spring的上下文。为什么叫“上下文”呢?“context”英文译为“语境”,其实将其理解为“环境”,这样应该更容易理解,Spring中的一些程序在执行中需要一个特定的环境,Spring-context就是用来提供这样的环境。
- Spring-context-support 支持整合第三方库到Spring应用程序的上下文中,也可以将其看做是Spring-context的补充。
- Spring-expression 提供了强大的表达式语言,是对EL表达式的拓展
AOP和Instrumentation
AOP和Instrumentation的相关模块主要为Spring-aop,Spring-aspects和Spring-instrument
- Spring-aop 主要提供了一个面向切面编程的实现方式。
- Spring-aspects 用来集成AspectJ框架,AspectJ是一个强大的AOP框架。
- Spring-instrument 支持类的植入和类加载器的实现
消息(Messaging)
Spring4.0以后,提供了对消息传递体系结构和协议的支持
数据访问/集成
- Spring-jdbc模块,提供了一个JDBC的抽象层,消除了繁琐的JDBC编码。
- Spring-tx 事务模块 支持对声明式事务的管理
- Spring-orm 提供对对象关系映射框架的支持,例如Hibernate和JPA。
- Spring-oxml 提供了对XML和对象映射的支持。
- Spring-jms 提供对jms的支持,jms指java消息传递服务。
第一个Spring程序
我们最初学习Spring是如何学习的?
1、使用Eclipse创建一个web项目,导入Spring的相关jar包
2、在src目录下创建一个dao包,并在dao下创建一个TestDao接口,在接口中定义一个sayHello()方法
public interface TestDao {
public void sayHello();
}
3、 创建一个TestDao 的实现类TestDaoImpl
public class TestDaoImpl implements TestDao {
@Override
public void sayHello() {
System.out.println("