spring boot 是spring主推的基于‘习惯优于配置’的原则,可以快速的搭建应用的框架

spring 在试剂开发中主要会遇到以下问题:大量的配置文件的定义,与第三方软件整合的技术问题;

spring 每个版本的推出都是以减少配置作为自己的主要目标,例如:

(1)推出@ Component、@ Service、@ Repository、@ Controller注解在类上声明Bean;
(2)推出 aConfiguration、@Bean的Java配置来替代xml配置。

spring boot 具有一下特征:

(1)遵循“习惯优于配置”原则,使用Spring Boot 只需很少的配置,大部分时候可以
用默认配置;
(2)项目快速搭建,可无配置整合第三方框架;
(3)可完全不使用xml配置,只使用自动配置和 Java Config;
(4)内嵌 Servlet(如 Tomcat)容器,应用可用jar包运行(java-jar);
(5)运行中应用状态的监控。

 

spring 是模块话的,这意味这你可以只使用你需要的spring 模块。

主要模块:
(1)核心容器(Core Container)
Spring-Core:核心工具类,Spring其他模块大量使用 Spring-Core;
Spring-Beans:Spring 定义Bean的支持;
Spring-Context:运行时 Spring容器;
Spring-Context-Support:Spring 容器对第三方包的集成支持;
Spring-Expression:使用表达式语言在运行时查询和操作对象。
(2)AOP
Spring-AOP:基于代理的 AOP支持;
Spring-Aspects:基于 AspectJ 的AOP支持。
(3)消息(Messaging)
Spring-Messaging:对消息架构和协议的支持。
(4)Web
Spring-Web:提供基础的Web集成的功能,在Web项目中提供Spring的容器;
Spring-Webmvc:提供基于 Servlet 的 Spring MVC;
Spring-WebSocket:提供 WebSocket 功能;
Spring-Webmvc-Portlet:提供Portlet环境支持。
(5)数据访问/集成(Data Access/Integration)
Spring-JDBC:提供以 JDBC访问数据库的支持;
Spring-TX·提供编程式和声明式的事务支持;
Spring-ORM:提供对对象/关系映射技术的支持;
Spring-OXM:提供对对象/xml映射技术的支持;
Spring-JMS:提供对 JMS的支持。

 

spring 的生态:

Spring 发展到现在已经不仅仅是Spring 框架本身的内容,Spring 目前提供了大量的基于
Snring的项目,可以用来更深入地降低我们的开发难度,提高开发效率。
目前 Spring 的生态里主要有以下项目,我们可以根据自己项目的需要来选择使用相应的
项目。
Spring Boot:使用默认开发配置来实现快速开发。
Spring XD:用来简化大数据应用开发。
Spring Cloud:为分布式系统开发提供工具集。
Spring Data:对主流的关系型和NoSQL数据库的支持。
Spring Integration:通过消息机制对企业集成模式(EIP)的支持。
Spring Batch:简化及优化大量数据的批处理操作。
Spring Security:通过认证和授权保护应用。
Spring HATEOAS:基于HATEOAS原则简化 REST 服务开发。
Spring Social:与社交网络API(如Facebook、新浪微博等)的集成。
Spring AMQP:对基于AMQP的消息的支持。

Spring Mobile:提供对手机设备检测的功能,给不同的设备返回不同的页面的支持。
Spring for Android:主要提供在Android 上消费 RESTful API的功能。
Spring Web Flow:基于Spring MVC提供基于向导流程式的Web 应用开发。
Spring Web Services:提供了基干协议有限的SOAP/Web 服务。
Spring LDAP:简化使用LDAP开发。
Spring Session:提供一个API及实现来管理用户会话信息。

 

spring aop :

Spring支持 Aspect I的注解式切面编程。
(1)使用@ Aspect声明是一个切面。
(2)使用@After @Before、@Around 定义建言( advice),可直接将拦截规则(切点)作为参数。

(3)其中@ After,@Before @Around参数的拦截规则为切点( PointCut),为了使切点复可使用 @PointCut专门定义拦截规则,然后在@After @ Before,@ Around的参数

(4)其中符合条件的每一个被拦截处为连接点( Join Point)