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的环境就算搭建完毕
相关推荐
1. **Spring概述**:介绍Spring框架的历史、目标和主要组成部分,包括Spring Core、Spring MVC、Spring Data等模块。 2. **环境搭建**:如何配置Java开发环境,安装必要的工具,如JDK、IDE,并设置项目结构,创建...
一、MyBatis-Spring概述 MyBatis-Spring是一个小型的Java库,它为MyBatis与Spring的集成提供了无缝支持。通过这个库,我们可以将MyBatis的SqlSessionFactory或SqlSessionTemplate直接注入到Spring管理的Bean中,...
1. **Mybatis-Spring概述** Mybatis-Spring提供了一个桥梁,使得Mybatis的SqlSession和Spring的数据访问抽象能够无缝协作。通过这个集成,用户可以在Spring的事务管理、依赖注入和AOP特性中充分利用Mybatis的灵活性...
1. MyBatis-Spring概述 MyBatis-Spring是MyBatis和Spring之间的粘合剂,它提供了将MyBatis的SqlSession和Mapper接口透明地注入到Spring Bean中的能力。这使得开发者可以利用Spring的事务管理和其他服务,同时享受...
1. **MyBatis-Spring 概述**: MyBatis-Spring 是 MyBatis 与 Spring 框架的桥梁,它提供了无缝集成,使得可以在 Spring 配置中管理 MyBatis 的 SqlSessionFactory 和 SqlSessionTemplate。通过这个库,开发者可以...
### MyBatis-Spring 整合知识点 #### 第一章:介绍 ...以上内容概述了MyBatis-Spring的基本概念及其整合流程,为后续章节的学习奠定了基础。接下来的章节将更深入地探讨具体的配置细节和技术要点。
graphql-spring-boot-starter, GraphQL的Spring Boot starter GraphQL Spring Boot 启动器这是一个用于 GraphQL Java插件项目的Spring Boot 起始。目录概述正在开始运行。版本管理行为准则。捐赠计划确认许可协议...
二、mybatis-spring-1.3.1概述 mybatis-spring是Spring与MyBatis之间的桥梁,它提供了对Spring的全面支持,包括SqlSessionFactoryBean、SqlSessionTemplate和MapperFactoryBean等组件,使得Spring能够无缝地管理和...
**MyBatis-Spring概述** MyBatis-Spring是MyBatis与Spring的桥梁,它允许你在Spring环境下充分利用MyBatis的特性。通过MyBatis-Spring,你可以将MyBatis的数据访问层无缝地融入到Spring的IoC(Inversion of Control...
一、Spring Cloud概述 Spring Cloud基于Spring Boot,为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的开发...
1. **MyBatis-Spring 概述** MyBatis-Spring 提供了 Spring Bean 和 MyBatis SQL 映射器之间的透明集成。它通过提供 SqlSessionFactoryBean 和 SqlSessionTemplate 类,使得配置变得更加简单,无需在代码中进行硬...
一、Spring框架概述 Spring是一个开源的企业级Java应用框架,其核心特性是依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。这两个概念是Spring解决复杂企业级问题的关键...
一、Spring Assistant 1.0.4概述 Spring Assistant 1.0.4是针对IntelliJ IDEA的一个增强型插件,旨在简化Spring项目中的代码编写、调试和管理过程。它提供了诸如自动代码补全、快速导航、智能提示等实用功能,使...
在本章中,我们将对这三个框架进行概述,探讨它们如何帮助企业应对复杂的Web应用开发挑战。 首先,框架是软件开发中的一个重要概念,它提供了一种标准和可重用的结构,使得开发人员可以专注于业务逻辑,而不是重复...
### Spring Boot概述与核心知识点详解 #### Spring Boot简介 Spring Boot是Spring家族中的一员,它极大地简化了基于Spring的应用开发过程。Spring Boot的目标是通过提供一个开箱即用的体验来减少开发过程中所需的...
Spring 概述 Spring 是一个开源框架,旨在简化企业级应用开发。它使简单的 JavaBean 实现以前只有 EJB 才能实现的功能。Spring 是一个 IOC(控制反转)和 AOP(面向切面编程)容器框架。 Spring 的技术特征 ...
【WebIM-for-Spring3开发框架 v2.0】是一个专为Spring MVC 3.2设计的即时通讯(Instant Messaging,简称IM)解决方案。这个框架整合了WebIM的功能与Spring的强大后端处理能力,旨在为开发者提供一个高效、稳定且易于...
1. **Spring Boot概述** Spring Boot是由Pivotal团队提供的全新框架,它基于Spring 4.0设计,旨在简化Spring应用的初始搭建以及开发过程。Spring Boot的核心特性包括:提供一个默认的、无需过多配置的运行环境;...
### MyBatis-Spring 整合指南 #### 一、MyBatis-Spring 简介 **MyBatis-Spring** 是一个旨在帮助开发者...以上就是 MyBatis-Spring 整合的基础知识点概述。希望这些内容能够帮助您更好地理解和使用 MyBatis-Spring。
概述 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....