1.Spring基本介绍

目录


Spring专栏目录(点击进入…)



Spring体系结构

Spring致力于Java EE应用的各种解决方案,而不是仅仅专注于某一层的方案。可以说Spirng是企业级应用开发的“一站式”选择,Spring贯穿表现层、业务层、持久层;以高度的开放性与已有的框架无缝整合。

在这里插入图片描述

Spring是模块化的,允许挑选和选择适用的模块,不必要把剩余部分也引入Spring框架提供约20个模块,可以根据应用程序的要求来使用。圈选的为重点。

Spring框架大约由20多个功能模块组成。这些模块被分为六个部分,分别是Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation及Test。
在这里插入图片描述

1.Core Container(核心容器)

Spring的核心容器是其他模块建立的基础,它主要由Beans模块、Core模块、Context模块、Context-support模块和SpEL(Spring Expression Language,Spring表达式语言)模块组成,具体介绍如下:

模块描述
Beans模块提供了BeanFactory,是工厂模式的经典实现,Spring将管理对象称为Bean
Core核心模块提供了Spring框架的基本组成部分,包括IoC和DI功能
Context上下文模块建立在Core和Beans模块的基础之上,访问定义和配置的任何对象的媒介。其中ApplicationContext接口是上下文模块的焦点
Context-Support模块提供了对第三方库嵌入 Spring 应用的集成支持,比如缓存(EhCache、Guava、JCache)、邮件服务(JavaMail)、任务调度(CommonJ、Quartz)和模板引擎(FreeMarker、JasperReports、速率)
SpEL模块Spring 3.0后新增的模块,提供了Spring Expression Language支持,是运行时查询和操作对象图的强大的表达式语言

核心容器由spring-core、spring-beans、spring-context、spring-context-support
spring-expression(SpEL,Spring表达式语言,Spring Expression Language)等模块组成

(1)Spring-Core

提供了框架的基本组成部分,包括IoC、依赖注入功能
框架的最基础部分,提供了IOC特性

(2)Spring-Beans

提供BeanFactory,工厂模式的微妙实现,它移除了编码式单例的需要,并且可以把配置和依赖从实际编码逻辑中解耦

(3)Spring-Context

建立在由core和 beans 模块的基础上建立起来的,它以一种类似于JNDI注册的方式访问对象。Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。Context模块也支持Java EE的功能,比如EJB、JMX和远程调用等。ApplicationContext接口是Context模块的焦点
为企业级开发提供了遍历和集成的工具

(4)Spring-Context-Support

提供了对第三方库集成到Spring上下文的支持,比如缓存(EhCache、Guava、JCache)、邮件(JavaMail)、调度(CommonJ、Quartz)、模板引擎(FreeMarker、JasperReports、Velocity)等

(5)Spring-Expression

提供了强大的表达式语言,用于在运行时查询和操作对象图。它是JSP 2.1规范中定义的统一表达式语言的扩展,支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等


2.Data Access/Integration(数据访问/集成)

数据访问/集成层包括JDBC、ORM、OXM、JMS和Transactions模块。

模块描述
JDBC模块提供了一个JDBC的抽象层,大幅度地减少了在开发过程中对数据库操作的编码
ORM模块对流行的对象关系映射API,包括JPA、JDO和Hibernate提供了集成层支持
OXM模块提供了一个支持对象/ XML映射的抽象层实现,如JAXB、Castor、XMLBeans、JiBX和XStream
JMS模块指Java消息传递服务,包含使用和产生信息的特性,自4.1版本后支持与Spring-message模块的集成
Transactions事务模块支持对实现特殊接口以及所有POJO类的编程和声明式的事务管理

数据访问/集成层包括JDBC、ORM、OXM、JMS和事务处理模块

1.JDBC(Java Data Base Connectivity)

JDBC模块提供了JDBC抽象层,它消除了冗长的JDBC编码和对数据库供应商特定错误代码的解析

2.ORM(Object Relational Mapping)

ORM模块提供了对流行的对象关系映射API的集成,包括JPA、JDO和Hibernate等。通过此模块可以让这些ORM框架和spring的其它功能整合,比如前面提及的事务管理

3.OXM(Object XML Mapping)

OXM模块提供了对OXM实现的支持,比如JAXB、Castor、XML Beans、JiBX、XStream等

4.JMS(Java Message Service)

JMS模块包含生产(produce)和消费(consume)消息的功能。从Spring 4.1开始,集成了spring-messaging模块

5.事务模块

事务模块为实现特殊接口类及所有的POJO支持编程式和声明式事务管理。(注:编程式事务需要自己写beginTransaction()、commit()、rollback()等事务管理方法,声明式事务是通过注解或配置由spring自动处理,编程式事务粒度更细)


3.Web(web支持)

Spring的Web层包括WebSocket、Servlet、Web和Portlet模块

模块描述
WebSocket模块Spring 4.0以后新增的模块,它提供了WebSocket 和SockJS的实现,以及对STOMP的支持
Servlet模块也称为Spring-webmvc模块,包含了Spring的模型—视图—控制器(MVC)和REST Web Services实现的Web应用程序
Web模块提供了基本的Web开发集成特性,例如:多文件上传功能、使用Servlet监听器来初始化IoC容器以及Web应用上下文
Portlet模块提供了在Portlet环境中使用MVC实现,类似Servlet模块的功能

Web层由Web、Web-MVC、Web-Socket、Web-Portlet组成

(1)Web模块

提供面向Web的基本功能和面向Web的应用上下文,比如多部件(multipart)文件上传功能、使用Servlet监听器初始化IoC容器等。它还包括HTTP客户端以及Spring远程调用中与Web相关的部分

(2)Web-MVC模块

为Web应用提供了模型视图控制(MVC)和REST Web服务的实现。Spring的MVC框架可以使领域模型代码和web表单完全地分离,且可以与Spring框架的其它所有功能进行集成

(3)Web-Socket模块

为WebSocket-based提供了支持,而且在Web应用程序中提供了客户端和服务器端之间通信的两种方式

(4)Web-Portlet模块

提供了用于Portlet环境的MVC实现,并反映了spring-webmvc模块的功能


4.其他模块

Spring的其他模块还有AOP、Aspects、Instrumentation以及Test模块

模块描述
AOP模块提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性
Aspects模块提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的面向切面编程(AOP)框架
Instrumentation模块提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用
Messaging模块Spring 4.0以后新增的模块,它提供了对消息传递体系结构和协议的支持

还有其他一些重要的模块,像AOP、Aspects、Instrumentation、Web和测试模块

(1)AOP模块

提供了面向方面的编程实现,允许定义方法拦截器和切入点对代码进行干净地解耦,从而使实现功能的代码彻底的解耦出来,使用源码级的元数据,可以用类似于.Net属性的方式合并行为信息到代码中

(2)Aspects模块

提供了与AspectJ的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架

(3)Instrumentation模块

在一定的应用服务器中提供了类instrumentation的支持和类加载器的实现

(4)Messaging模块

为STOMP提供了支持作为在应用程序中WebSocket子协议的使用。它也支持一个注解编程模型,它是为了选路和处理来自WebSocket客户端的STOMP信息


5.Test模块

提供了对单元测试和集成测试的支持

(1)测试模块
支持对具有JUnit或TestNG框架的Spring组件的测试


完整依赖关系

在这里插入图片描述


官方下载Spring

https://repo.spring.io/libs-release-local/org/springframework/spring/

1.浏览器地址栏输入https://spring.io/

2.进入Spring Framework

在这里插入图片描述

3.进入github找spring框架

spring相关的一些jar都放入到了github上,所以需要点击github这只猫,跳转到其他页面。
在这里插入图片描述

4.下划找到Access to Binaries(二进制文件)

在这里插入图片描述

5.点击 Spring Artifactory

在这里插入图片描述

6.从github的本地储存库找

在这里插入图片描述

7.找到需要的spring版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


Spring的Jar包、依赖说明

Spring—Jar包详解

Spring 包描述
org.springframework.aopSpring的面向切面编程,提供AOP(面向切面编程)的实现
org.springframework.asmspring 2.5.6的时候需要asm jar包,spring3.0开始提供它自己独立的asm jar包
org.springframework.aspectsSpring提供的对AspectJ框架的整合
org.springframework.beans所有应用都用到,包含访问配置文件,创建和管理bean等,是Spring IOC的基础实现。
org.springframework.context.supportSpring context的扩展支持,用于MVC方面
org.springframework.context提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。
org.springframework.coreSpring的核心工具包,其他包依赖此包
org.springframework.expressionSpring表达式语言
org.springframework.instrument.tomcatSpring对tomcat连接池的集成
org.springframework.instrumentSpring对服务器的代理接口
org.springframework.jdbc对JDBC 的简单封装
org.springframework.jms为简化jms api的使用而做的简单封装
org.springframework.orm整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现
org.springframework.oxmSpring对于object/xml映射的支持,可以让JAVA与XML之间来回切换
org.springframework.test对JUNIT等测试框架的简单封装
org.springframework.transaction为JDBC,HIBERNATE,JDO和JPA提供的一致性的声明式和简单编程式事务管理
org.springframework.web.portletSpring MVC的增强
org.springframework.web.servlet对J2EE6.0 servlet3.0的支持
org.springframework.web.struts整合struts框架的支持,可以更方便更容易的集成Struts框架。
org.springframework.web包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入

WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类

Spring包依赖说明

spring-core.jar是所有包的基本,也就是所有的包都依赖spring-core.jar包

所依赖包
spring-core.jarspring-core.jar、commons-collections.jar
spring-beans.jarspring-core.jar、cglib-nodep-2.1_3.jar
spring-aop.jarspring-core.jar、spring-beans.jar、cglib-nodep-2.1.3.jar、aopalliance.jar
spring-context.jarspring-core.jar、spring-beans.jar、spring-aop.jar、commons-collections.jar、aopalliance.jar
spring-dao.jarspring-core.jar、spring-beans.jar、spring-aop.jar、spring-context.jar
spring-jdbc.jarspring-core.jar、spring-beans.jar、spring-dao.jar
spring-web.jarspring-core.jar、spring-beans.jar、spring-context.jar
spring-webmvc.jarspring-core.jar、spring-beans.jar、spring-context.jar、spring-web.jar
spring -hibernate.jarspring-core.jar、spring-beans.jar、spring-aop.jar、spring- dao.jar、spring-jdbc.jar、spring-orm.jar、spring-web.jar、spring-webmvc.jar
spring-orm.jarspring-core.jar、spring-beans.jar、spring-aop.jar、spring- dao.jar、spring-jdbc.jar、spring-web.jar、spring-webmvc.jar
spring -remoting.jarspring-core.jar、spring-beans.jar、spring-aop.jar、spring- dao.jar、spring-context.jar、spring-web.jar、spring-webmvc.jar
spring-support.jarspring-core.jar、spring-beans.jar、spring-aop.jar、spring-dao.jar、spring-context.jar、spring-jdbc.jar
spring-mock.jarspring-core.jar、spring-beans.jar、spring-dao.jar、spring-context.jar、spring-jdbc.jar

下载Spring Tools Suite插件

1.查看Eclipse版本

在这里插入图片描述

2.往下翻

在这里插入图片描述

3.下翻找到对应Eclipse版本的类型

在这里插入图片描述


Eclipse安装Spring插件

1.准备好和Eclipse版本相对应的Spring插件

在这里插入图片描述

2.打开Eclipse -> Help -> Install new software

点击Add --> 点击Archive --> 找到对应的插件位置,点击ok
一定要联网安装

在这里插入图片描述

3.找到带有IDE的全部挂钩,然后点击next

在这里插入图片描述

4.安装中

在这里插入图片描述

5.然后一直next,最后同意协议

在这里插入图片描述

在这里插入图片描述

6.安装完成重启看到Spring IDE的字样就算安装成功

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Security是一个基于Spring框架的安全性解决方案,用于保护Java应用程序的安全性。它提供了一套全面的安全性功能,包括身份验证、授权、密码管理和会话管理等。 Spring Security的主要特点包括: 1. 身份验证(Authentication):Spring Security支持多种身份验证方式,包括基于表单、基于HTTP基本认证、基于LDAP等。它还支持自定义身份验证方式。 2. 授权(Authorization):Spring Security提供了细粒度的授权机制,可以通过注解或配置文件来定义访问控制规则。它支持基于角色(Role)和基于权限(Permission)的授权方式。 3. 密码管理(Password Management):Spring Security提供了安全的密码存储和验证机制,可以对密码进行加密和解密操作,以保护用户密码的安全性。 4. 会话管理(Session Management):Spring Security支持会话管理功能,可以管理用户的会话状态,包括会话超时、并发登录控制等。 5. CSRF防护(CSRF Protection):Spring Security提供了跨站请求伪造(CSRF)防护功能,可以防止恶意攻击者利用用户的身份进行非法操作。 6. 记住我(Remember Me):Spring Security支持“记住我”功能,可以在用户下次访问时自动登录,提高用户体验。 7. 安全事件监听(Security Event Listeners):Spring Security提供了安全事件监听机制,可以监听用户登录、注销等安全事件,并进行相应的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

未禾

您的支持是我最宝贵的财富!

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

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

打赏作者

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

抵扣说明:

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

余额充值