1、spring介绍
(1)spring与三层架构的关系:
spring负责管理项目中的所有对象,是一个一站式的框架,容器中的对象决定了spring的功能。
(2)特点:
是一个开源框架
轻量级(与EJB对比),依赖资源少,消耗的资源少
(3)分层:
web层:struts、SpringMVC
service层:spring
dao层:hibernate、mybatis、jdbcTemplate、springdata
spring是一个分层的一站式(每个层都提供解决方案)框架。
(4)核心:
控制反转IoC和面向切面编程AOP。
(5)优点:
方便解耦,简化开发(高内聚低耦合):
Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理
AOP编程的支持:
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
声明式事务的支持:
只需要通过配置就可以完成对事务的管理,而无需手动编程
方便程序的测试:
Spring对Junit4支持,可以通过注解方便的测试Spring程序。
方便集成各种优秀框架:
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Stmuts、Hibemate、MwBtis、Quartz等)的直接支持
降低JAVAEE API的使用难度:
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低
2、spring核心架构
Spring框架主要由六个模块组成,在开发时可以根据需要选择合适的模块。
(1)核心容器模块:提供了框架的最基础部分,是其它组件的基础,提供了IoC容器、Spring框架的基础核心工具类。
beans:管理bean
core:核心
context:上下文(配置文件)
SpEL(Spring Expression Language):SpEL表达式
(2)数据访问/集成模块:减少了JDBC代码量、提供声明式事务管理的功能等。
JDBC:JDBCTemplate
ORM:整合Hibernate
Transacions:事务管理
(3)Web模块:封装了Web应用开发使用Spring框架时所需要的核心类。
web:web开发
(4)AOP和Instrumentation模块:Instrumentation对服务器的代理接口。
AOP:面向切面编程
Aspects:AOP框架
(5)Messaging模块:基于消息发送应用的基础。
(6)测试模块:对JUnit等测试框架的简单封装。
原文地址:https://www.cnblogs.com/zhai1997/p/12590815.html