Spring,SSH中内容最丰富的,功能最强的框架。值得好好的总结,虽然我看看ITEYE上的开涛大牛已经总结的够牛叉了,但是我还是理一理,毕竟别人总结是别人的。后面我也会更多了参考他的来学习。废话少说,今天先来了解一下Spring。
Spring引入
程序开发的三层结构MVC,每层之间都有一定的调用关系,例如显示层的Struts需要一个业务类,则需要new一个业务类,而业务层有需要调用持久层,所以又要new一个持久类,这样就形成了强耦合,Spring就是完全解耦类与类之间的依赖关系,如果一个类需要依赖什么,就是一个接口,至于如何实现不重要,主要拿一个实现这个接口的类,就是可以通过XML配置文件把实现类注入到调用接口的那个类中了。
Spring优点
1、 非常轻量级的容器,以集中的、自动化的方式进行应用程序对象创建和装配,负责对象创建和装配,管理对象生命周期,能组合成复杂的应用程序。Spring容器是非侵入式的(不需要依赖任何Spring特定类),而且完全采用POJOs进行开发,使应用程序更容易测试、更容易管理。而且核心JAR包非常小,而且不需要依赖任何应用服务器,可以部署在任何环境(Java SE或Java EE)。
2、 AOP:AOP是Aspect Oriented Programming的缩写,意思是面向切面编程,提供从另一个角度来考虑程序结构以完善面向对象编程(相对于OOP),即可以通过在编译期间、装载期间或运行期间实现在不修改源代码的情况下给程序动态添加功能的一种技术。通俗点说就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中;比如安全,日记记录,这些都是通用的功能,我们可以把它们提取出来,然后在程序执行的合适地方织入这些代码并执行它们,从而完成需要的功能并复用了这些功能。
3、 简单的数据库事务管理:在使用数据库的应用程序当中,自己管理数据库事务是一项很让人头疼的事,而且很容易出现错误,Spring支持可插入的事务管理支持,而且无需J2EE环境支持,通过Spring管理事务可以把我们从事务管理中解放出来来专注业务逻辑。
4、 JDBC抽象及ORM框架支持:Spring使JDBC更加容易使用;提供DAO(数据访问对象)支持,非常方便集成第三方ORM框架,比如Hibernate等。并且完全支持Spring事务和使用Spring提供的一致的异常体系。
5、 灵活的Web层支持:Spring本身提供一套非常强大的MVC框架,而且可以非常容易的与第三方MVC框架集成,比如Struts等。
6、 简化各种技术集成:提供对Java Mail、任务调度、JMX、JMS、JNDI、EJB、动态语言、远程访问、Web Service等的集成。
7、 Spring能帮助我们简化应用程序开发,帮助我们创建和组装对象,为我们管理事务,简单的MVC框架,可以把Spring看作是一个超级粘合平台,能把很多技术整合在一起,形成一个整体,使系统结构更优良、性能更出众,从而加速我们程序开发。
Spring和Hibernate
通过Spring整合Hibernate,使持久层的访问更加容易
1、通用的资源管理:Spring的ApplicationContext能管理SessionFactory,使得配置值很容易被管理和修改,无需使用Hibernate的配置文件。
2、有效的Session管理。
3、IoC容器提高了DAO组件与业务逻辑层之间的解耦。
4、方便的事务管理,Hibernate的事务管理会限制Hibernate的表现,而Spring的声明式事务管理力度是方法级别。
5、异常包装,Spring能够包装Hibernate异常,把它们从checked exception变为runtime exception,可选择处理异常。
Spring的七大模块:
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式
组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM的对象关系工具,其中包括JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和DAO异常层次结构。
Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText 和 POI。
Spring Core核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
Spring典型应用场景
Spring环境搭建
JDK:1.5及以上环境
开发工具:SpringSource Tool Suite,简称STS,是个基于Eclipse的开发环境,用以构建Spring应用,其最新版开始支持Spring 3.0及OSGi开发工具,但由于其太庞大,很多功能不是我们所必需的所以我们选择Eclipse+ SpringSource Tool插件进行Spring应用开发。
安装插件:启动Eclipse,选择Help->Install New Software
Name为:SpringSource Tool Suite Dependencies
Location为:http://dist.springsource.com/release/TOOLS/composite/e3.6
选择:
Ok后安装SpringSource Tool Suite插件
Name为:SpringSource Tool Suite
Location为:http://dist.springsource.com/release/TOOLS/update/e3.6
选择:
Ok,至此Eclipse中Spring的环境就算搭建完毕
相关推荐
Struts-Spring-Hibernate概述.doc
graphql-spring-boot-starter, GraphQL的Spring Boot starter GraphQL Spring Boot 启动器这是一个用于 GraphQL Java插件项目的Spring Boot 起始。目录概述正在开始运行。版本管理行为准则。捐赠计划确认许可协议...
概述 Elastic-Job-Lite Spring Boot Starter。 快速开始 1.添加elasticjob-spring-boot-starter依赖项 pom.xml: <groupId>org.springframework.boot <artifactId>spring-boot-starter-parent <version>1.5.12....
1-1SpringCloud-系统进化理论概述.avi 1-2SpringCloud-系统进化理论背景.avi 1-3SpringCloud-什么是微服务架构.avi 1-4SpringCloud-微服务架构的优缺点.avi 1-5SpringCloud-为什么选择SpringCloud构建微服务.avi 2-1...
第一章 SpringData概述 1.持久层开发的问题 2.SpringData简介 第二章 JPA回顾 1.JPA基础 2.JPA实战 3.JPA的重要API介绍 第三章 SpringData JPA基础 1.SpringData JPA简介 2.SpringData JPA快速入门 3.SpringData Jpa...
git clone https://github.com/xtreme-christophe/01-demo-spring-boot.git 2.运行演示 使用STS或IntelliJ: Right click on the `Application.java` class -> Run `Application` 使用Maven: mvn spring-boot:run
目录概述该实现提供了一种使用框架的方法,例如spring boot starter项目。入门添加依赖< dependency> < groupId>io.github.ganchix</ groupId> < artifactId>arangodb-spring-boot-starter</ artifactId> < version>...
jwt-angular-spring-boot-security快速概述预安装的要求:Java 1.8 +,Maven,Node.js,Node Package Manager(NPM),MySQL。设置:(在Angular和Spring-Boot端都需要一些初始化命令) 转到要在其中安装项目的目录...
笔记有关具有相同数据集的Spring Data Neo4j 6的更广泛概述,可以访问分支。 上详细描述了示例项目。 该项目使用Java 11。堆栈这些是我们的Web应用程序的组件: 应用程序类型:Spring-Boot Java Web Application ...
概述 The Spring Cloud Alibaba project, consisting of Alibaba’s open-source components and several Alibaba Cloud products, aims to implement and expose well known Spring Framework patterns and ...
文件中包括: -- Spring的概述及讲解; -- 使用Spring进行用户登录的例子。
Spring概述与IOC,对于刚入门的工程师有用
Spring Framework概述 Spring Framework概述
【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3 【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之...
1 Spring Boot概述与课程概要介绍20:33 2 Spring4 快速入门59:56 3 Spring4 扩展分析(一)35:49 4 Spring4 扩展分析(二)21:11 5 Spring Boot 快速入门24:01 6 Spring Boot 配置分析(一)38:26 7 Spring ...
1. 概述 Spring是一个轻量级Java开发框架(最早由Rod Johnson创建),为Java应用程序提供全面的基础架构支持。 Spring最根本的使命是解决企业级应用开发的复杂性,简化Java开发。 2. Spring两个核心特性 ① IoC...
【第一章】 Spring概述 ——跟我学Spring3 【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3 【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3 【第二章】 IoC 之 2.3 IoC的配置使用——跟我学Spring3 ...
概述 框架的使用案例代码
Spring概述 ①Spring是一个开源框架 ②Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却...
Linux\千锋java教程:018-LVM 磁盘扩容.mp4章节3-Docker\千锋java教程:019-Docker简介.mp4章节3-Docker\千锋java教程:020-Docker安装.mp4章节3-Docker\千锋java教程:021-Docker概述.mp4章节3-Docker\千锋java教程...