spring什么意思
spring简介:
spring是一个开源框架。spring是2003年出现的一个轻量级java开发框架。它源自rod johnson在他的书《专家一对一j2ee开发和设计》中阐述的一些想法和原型。它是为了解决企业应用程序开发的复杂性而创建的。该框架的主要优势之一是其分层架构,允许用户选择使用哪个组件,并为j2ee应用程序开发提供了一个集成框架。从简单性、可测试性和松耦合的角度来看,任何java应用程序都可以受益于spring。spring的核心是控制反转(ioc)和面向方面(aop)。简单来说,spring是一个分层的javase/eefull-stack(一站式)轻量级开源框架。
在开发者眼中,spring是作为一个帝国存在的,几乎所有的技术领域都有spring的解决方案。基础框架选定为spring后,后续的相关解决方案几乎都优先选择spring相关的组件,所以要花时间学习和总结常用的spring组件和原理。
spring ioc:ioc是控制反转的缩写。大部分书翻译为“控制反转”,也有一些书翻译为“控制反转”或“控制反转”。原来由应用程序管理的对象之间的依赖关系现在由容器管理,这叫做控制倒置,也就是交给ioc容器。spring的ioc容器主要是由di实现的。不需要主动搜索,对象的搜索、定位和创建都由容器管理。spring ioc是spring的核心,主要用户在容器中管理bean。
spring aop:aop是oop的延续,oop是aspect oriented programming的缩写,意为面向方面的编程。aop实际上是gof设计模式的延续,孜孜不倦地追求调用者和被调用者之间的解耦。aop可以说是这个目标的一个实现。spring aop也是spring的核心。使用aop技术,可以用来实现日志、权限、缓存等功能。
spring orm:spring支持大部分orm框架,如hibernate、jpa、jdo、toplink和ibatis(spring2支持ibatis2,现在mybatis3的spring支持是mybatis社区开发的,不是spring)。
spring mvc:spring mvc框架有一个mvc框架,通过实现模型-视图-控制器模式来分离数据、业务和表现。从这样的角度来看,spring mvc与struts和struts2非常相似。
spring webservice:spring支持apache cxf、axis2、xfire等不同集中式webservice实现方案的集成。
spring事务:spring完美地支持了对事物的管理。目前主要有两个实现挑战,一是配置文件,二是基于注释。
spring jms:spring支持activemq和rabbitmq消息中间件的集成。
spring data:作为springsource的父项目之一,spring data旨在统一和简化所有类型的持久存储,而不是局限于关系数据库或nosql数据存储。
spring cache:spring的缓存技术也相当灵活,不仅可以使用spel(spring expression language)定义缓存的key和各种条件,还提供了开箱即用的缓存暂存方案,还支持与ehcache等主流专业缓存的集成。
spring boot:spring-boot是pivotal团队提供的一个全新的框架。它的设计目的是简化新spring应用程序的初始构造和开发过程。该框架使用特定的方式进行配置,因此开发人员不再需要定义样板配置。通过这种方式,boot致力于成为蓬勃发展的快速应用程序开发领域的领导者。
spring security:spring security是一个安全框架,可以为基于spring的企业应用系统提供声明式安全访问控制解决方案。它提供了一套可在spring应用上下文中配置的bean,充分利用了spring ioc、di (control inversion of control,di: dependency injection)和aop (aspect-oriented programming)的功能,为应用系统提供声明式安全访问控制功能,减少了企业系统安全控制编写大量重复代码的工作。
spring调度:spring支持jdk定时器、并发和石英调度。这三种任务调度方案在实现机制和调用方式上是不同的。但是,通过将它们打包,spring可以在基于spring的统一配置和编码风格中使用这三种调度方案。