Spring 简介

前言:
Spring是一个分层的 full-stack(一站式)轻量级框架(开源框架),以Ioc(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切片编程)为内核,使用简单的JavaBean来完成以前只能由EJB(Enterprise Java Beans)完成的工作,取代了臃肿、低效的EJB。

Spring致力于JavaEE应用各层的解决方案,是企业应用一站式开发很好的选择,在表现层它提供了Spring MVC以及整合Struts的功能,在业务逻辑层可以管理事务、记录日志等,在持久层可以整合Hibernate、Mybatis等框架。虽然Spring贯穿表现层、业务逻辑层、持久层,但Spring并不是要取代那些已有的优秀框架,而是可以高度开放的与其它优秀框架无缝整合。

Spring为简化企业级开发而生,使用Spring开发可以将Bean对象,Dao组件对象,Service组件对象等交给Spring容器来管理,这样使得很多复杂的代码在Spring中开发却变得非常的优雅和简洁,有效的降低代码的耦合度,极大的方便项目的后期维护、升级和扩展。

Spring的优点

1.非侵入式设计
Spring是一种非侵入式(no-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

2.方便解耦、简化开发
Spring是一个大工厂,可以将所有对象的创建、依赖关系的维护,交给Spring容器管理,大大降低了组件之间的耦合。

3.支持AOP
允许将一些通用任务,比如安全、事务、日志等,进行集中式管理,从而提高程序的复用性。

4.支持声明式事务处理
通过配置就可以完成对事务的管理,无需手动编程。

5.方便整合其它优秀框架
Spring可以与大多数框架无缝整合。

6.测试方便
Spring支持Junit4,可通过注解测试程序,很方便。

7.降低了使用JavaEE API的难度
Spring对JavaEE开发中难用的一些API进行了封装,降低了这些API的使用难度。

Spring的体系结构
在这里插入图片描述
1.Test模块
提供对应用的单元测试、集成测试的支持

2.Core Container(核心容器)
Spring核心容器是其它模块的基础,主要由5个模块组成:

(1)Beans模块:提供BeanFactory,是工厂模式的经典实现,Spring将管理的对象称为Bean。
(2)Core 核心模块:是Spring框架的基本组成部分,提供Ioc、DI功能。
(3)Context 上下文模块:建立在Beans、Core模块的基础上,可以通过它来访问任何对象的定义、配置。Context模块最重要的是ApplicationContext接口。
(4)Context-support 模块:提供Spring对嵌入第三方库的支持,比如要嵌入缓存(Jcache、EhCache)、邮件服务(JavaMail)、任务调度(CommonJ、Quartz)这些第三方功能,就要用到此模块。
(5)SpEL模块:提供对Spring Expression Language的支持。

spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.RELEASE.jar
spring-core-4.0.0.RELEASE.jar
spring-expression-4.0.0.RELEASE.jar

3.面向切面编程
(1)AOP模块:提供对面向切片编程的支持,允许定义方法拦截器和切入点,将代码按照功能分离,以降低耦合。
(2)Aspects模块:提供对整合Aspects框架的支持,Aspects是一个优秀的AOP(面向切片编程)框架。
(3)Instrumentation模块:提供对类工具、类加载器的支持/实现。
Messaging模块:提供对消息传递体系的支持。

spring-aop-4.0.0.RELEASE.jar
spring-aspects-4.0.0.RELEASE.jar

4.Data Access/Integration(数据访问/集成)
(1)JDBC模块:是JDBC的抽象,大幅减少了对数据库的编码。
(2)ORM模块:封装了大量的对象关系映射的API,提供对JPA、JDO、Hibernate的整合支持。
(3)OXM模块:提供了一个支持对象/XML映射的抽象层实现,比如XMLBeans、XStream。
(4)JMS模块:提供对消息传递服务的支持。
(5)Transactions 事务模块:提供对POJO编程、声明式事务管理的支持。

spring-jdbc-4.0.0.RELEASE.jar
spring-orm-4.0.0.RELEASE.jar
spring-oxm-4.0.0.RELEASE.jar
spring-tx-4.0.0.RELEASE.jar
spring-jms-4.0.0.RELEASE.jar

5.Web
(1)WebSocket模块:提供WebScoket、SockJS的实现,以及对STOMP的支持
(2)Servlet模块:也称为Spring-webmvc模块,包含了Spring的MVC。
(3)Web模块:提供基本的Web开发集成特性,比如多文件上传功能、使用Servlet监听器来初始化Ioc容器以及Web应用上下文。
(4)Portlet模块:提供了对在Portlet环境中使用MVC的支持。

spring-web-4.0.0.RELEASE.jar
spring-webmvc-4.0.0.RELEASE.jar
spring-websocket-4.0.0.RELEASE.jar
spring-webmvc-portlet-4.0.0.RELEASE.jar

在这里插入图片描述

Spring中的Bean

Spring容器负责创建、管理Bean的实例,所有的类都可以作为Bean。

传统的JavaBean一般是作为DTO(数据传输对象),用来封装值对象,在各层之间传递数据。Spring Bean可以是任何组件,用途广泛。

传统的JavaBean要求为每一个成员变量提添加setter、getter方法。Spring Bean则无此要求,但尽量为Bean写一个无参的构造函数(不强制)。

spring教程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Firm陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值