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)
相关文章
|
6月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
140 0
|
6月前
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
156 0
|
6月前
|
XML Java 数据库连接
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
Spring Boot的数据访问之Spring Data JPA以及Hibernate的实战(超详细 附源码)
105 0
|
24天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
40 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
46 2
|
5月前
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
53 2
|
5月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
59 2
|
5月前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
409 1
|
5月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
52 1
|
5月前
springboot2.4.5使用pagehelper分页插件
springboot2.4.5使用pagehelper分页插件
139 0