springBoot

什么是springBoot

随着动态语言的流行(Ruby,Groovy,Scala,Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大
在上述环境下,SpringBoot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用springBoot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用SpringBoot你可以不用或者只需要很少的Spring配置

springBoot的优点

  • 快速构建项目
  • 对主流开发框架的无配置集成
  • 项目可独立运行,无需外部依赖servlet容器
  • 提供运行时的应用监控
  • 极大地提高了开发、部署效率
  • 与云计算的天然集成

spring的模块

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


image.png

springBoot实战

  • 核心容器
    • spring-Core:核心工具类,spring其他模块大量使用spring-Core
    • Spring-Beans:Spring定义Bean的支持
    • Spring-Context:运行时spring的容器
    • Spring-Context-Support:Spring对第三方包的集成支持
    • Spring-Expression:使用表达式语言在运行时查询和操作对象
  • AOP
    • spring-AOP:基于代理的AOP支持
    • Spring-Aspects:基于AspectsJ的AOP支持
  • messaging
    • spring-Messaging:对消息框架和协议的支持
  • web
    • spring-web:提供基础的web集成的功能,在web项目中提供spring的容器
    • spring-webMVC:提供基于servlet的springMVC
    • spring-Websocket:提供WebSocket功能
    • spring-Webmvc-Portler:环境支持
  • 数据访问/集成(Data Access/Integration)
    • spring-JDBC:提供以JDBC访问数据库的支持
    • spring-TX:提供编程式和声明式的事务支持
    • Spring-ORM:提供对对象/关系映射技术的支持
    • Spring-OXM:提供对对象/XML映射技术的支持
    • Spring-JMS:提供对JMS的支持

Spring基础配置的四大原则

  • 使用POJO进行轻量级和最小侵入式开发
  • 通过依赖注入和基于接口编程实现松耦合
  • 通过AOP和默认习惯进行声明式编程
  • 使用AOP和模板(temple)减少模式化代码

spring所有功能的设计和实现都是基于此四大原则的


image.png

AOP

  • AOP: 面向切面编程,相对于OOP面向对象编程

Spring的AOP的存在白的是为了解祸。 AOP可以让一组类共享相同的行为。 在OOP中只能通过继承类和实现接口,来使代码的精合度增强,且类继承只能为单继承,阻碍更多行为 添加到一组类上,AOP弥补了。OP的不足。

  • Spring支持AspectJ的注解式切面编程
    • 使用@Aspect声明是一个切面
    • 使用@After、 @Before、 @Around定义建言(advice), 可直接将拦截规则(切点)作为参数
    • 其中@After、@Before、@Around参数的拦截规则为切点(PointCut), 为了使切点复用,可使用@PointCut专门定义拦截规则,然后在@After、@Before、@Around的参数中调用
    • 其中符合条件的每一个被拦截处为连接点(JoinPoint)

你可能感兴趣的:(springBoot)