springBoot

简介: 什么是springBoot随着动态语言的流行(Ruby,Groovy,Scala,Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大在上述环境下,SpringBoot应运而生。

什么是springBoot

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

springBoot的优点

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

spring的模块

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


img_e8efcbc6f672e8e79e59fa6ebb14070e.png
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所有功能的设计和实现都是基于此四大原则的


img_b8bde3035b57839a0e862fc497a6b008.png
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)
相关文章
|
4月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
122 0
|
4月前
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
109 0
|
11月前
|
JSON Java 数据格式
三万字盘点Spring/Boot的那些常用扩展点(下)
Spring对于每个Java后端程序员来说肯定不陌生,日常开发和面试必备的。本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框架是如何基于这些扩展点跟Spring/SpringBoot整合的。 话不多说,直接进入正题。
|
4月前
|
XML Java 数据库连接
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
79 0
|
3月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
42 2
|
3月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
51 2
|
3月前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
247 1
|
3月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
40 1
|
3月前
springboot2.4.5使用pagehelper分页插件
springboot2.4.5使用pagehelper分页插件
|
3月前
|
缓存 运维 Java
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
34 0