Spring Boot
文章平均质量分 86
SpringBoot的探索和实战&原理分析
PeterMrWang
这个作者很懒,什么都没留下…
展开
-
Spring-Boot 监听器
监听器Listener概述web监听器是servlet中特殊的类,能够帮助开发着监听web中的一些特定事件。监听器的什么?ServletContext – applicationHttpSession - sessionServletRequest - request监听器监听就是:拥有作用域的对象。而这个作用域的对象分别都有相同的方法setAttributegetAttributeremoveAttribute不论三每个那种作用域只要调用setAttribute或者getAt原创 2022-04-02 11:49:16 · 1242 阅读 · 0 评论 -
Spring-Boot 过滤器
过滤器Filter概述过滤器是Web开发中很实用的意向技术,程序员可以通过过滤器对web服务资源,静态资源 比如:静态HTML、静态图片,js或者css等,动态资源比如:JSP,Servlet等进行拦截器从而实现一些特殊的需求,比如:URL的访问权限,过滤的敏感词汇,压缩响应信息等,完整的执行过程Springboot如何定义Filter呢(默认机制)1:定义一个过滤器WebFilterpackage com.kuangstudy.config.filter;import lomb原创 2022-04-02 11:47:41 · 601 阅读 · 2 评论 -
Spring-Boot 拦截器
拦截器是springmvc提供了一个拦截器的机制,它专门用于拦截controller的路由请求。它的本质是:AOP面向切面的编程,也就是说符合横切关注点的功能都可以考虑使用拦截器实现。比如一些应用场景:权限检查例如:用户登录检查,访问项目的内部接口时,可以通过拦截器检测用户是否登录,如果登录,直接放回用户登录页面比如:接口的安全校验,使用JWT做权限拦截器校验。日志记录更新推荐用原生的AOP机制会更好一点,粒度会更细,控制起来也更方便,如果你是针对某个接口或者某个请求,或者某个业务针原创 2022-04-02 11:42:04 · 2881 阅读 · 0 评论 -
CommandLineRunner、ApplicationRunner、ApplicationListener @PostConstruct 对比
springboot启动时执行:CommandLineRunner、ApplicationRunner、ApplicationListener @PostConstruct 对比使用场景:我们在开发过程中会有这样的场景:需要在项目启动后执行一些操作,比如:读取配置文件信息,数据库连接,删除临时文件,清除缓存信息,工厂类初始化,加载活动数据,或者缓存的同步等。我们会有多种的实现方式,例如@PostConstruct 、CommandLineRunner、ApplicationRunner、Applicat原创 2022-04-02 11:30:03 · 1232 阅读 · 1 评论 -
spring-boot 自定义starter
01、starter作用依赖聚合自定义配置类 + @Bean属性配置类02、starter的命名规范官方:spring-boot-starter -xxxx自定义:xxx-boot-starter03、实现步骤标准的starter工程分为两个:xxx-boot-autoconfigurationMETA-INF/spring.factories配置类属性配置类聚合依赖xxx-boot-starter引入xxx-boot-autoconfiguration原创 2022-04-02 11:27:28 · 221 阅读 · 0 评论 -
Spring Boot 加载Bean的几种方式
01、探索springboot的加载bean几种方式springboot启动类上的注解是一个复合注解:@SpringBootConfiguration配置类 + @Bean配置类作用:方便扩展、方便集成,不受包约束。@EnableAutoConfigurationspringboot内部的starter加载的原理内部其实:配置+@Bean@ComponentScan (主要是用加载当前项目自身开发的bean)扫包 + @Service、@Controller、@Com原创 2022-04-02 11:19:08 · 6184 阅读 · 0 评论 -
配置类@Configuration
01、概述配置类:在springboot中被@Configuration或者@SpringBootConfiguration标注的类称之为配置类。02、作用&目的在配置类可以定义很多@Bean的方法,可以让这些@Bean修饰的方式让spring框架加载到ioc容器中去。03、那为什么会存在配置方便你覆盖底层的配置类让你去扩展的bean的一种机制。04、一个springboot项目中的加载的bean有那些呢?程序员自己编写的开发的bean ,比如加了:@Service,@Map原创 2022-04-02 10:33:36 · 855 阅读 · 0 评论 -
SpringBoot配置跨域Cors
01、同源策略同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。什么是源源[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80这个URL。什么是同源若地址里面的协议、域名和端口号均相同则属于同源。是否是同源的判断例如判断下面的URL是否与 http://www.a.com/test/index.html 同源http://www.a.com原创 2022-04-02 10:30:18 · 905 阅读 · 0 评论 -
SpringBoot的配置类和常见条件注解
01、分析在项目中,有时会遇到我们的@Configuration、@Bean、Service等等的bean组件需要依条件按需加载的情况。那么Spring Boot怎么做的呢?它为此定义了许多有趣的条件,当我们将它们运用到我们的bean上时,就可以实现动态的加载控制了。SpringBoot 定义了许多条件化注解,可以将它们用到配置类上,以说明生效条件。条件化注解生效条件@ConditionalOnBean配置了特定的 Bean。@ConditionalOnMissingBea原创 2022-04-02 10:26:17 · 666 阅读 · 0 评论 -
spring boot 静态资源处理&全路径的问题
01、概述在单体的Web架构项目中,如果你使用freemarker和 thymeleaf的话肯定就处理静态资源和路径的问题。静态和路径的处理,在SpringBoot是如何处理的。对于一个WEB开发项目来是哦,如果不是采用前后端分离的模式。而是将imgs,js和css等一些静态资源打包的jar 包中,那么springboot是如何把它们放入到项目中呢?02、springboot实现静态资源映射第一步:在pom.xml中引入web和freemarker<dependency> &l原创 2022-03-30 22:22:49 · 1350 阅读 · 0 评论 -
SpringBoot统一异常处理(二) 之 R类 和 枚举
R类 和 枚举01、为什么学习统一返回?在企业其实大部分的程序开发,或者接口开发,其实都返回一种所谓的JSON格式。而json格式是通过java面向对象的方式进行封装而得。在统一异常处理的时候,我们使用的是@RestControllerAdvice是controller后置增强处理。使用@RestControllerAdvice后置处理可以达到在前后端分离的项目架构中,全部都是异步返回@RestController 也全部都是@ResponseBody的方法。以为你没有页面也没有所谓的freema原创 2022-03-30 09:41:45 · 854 阅读 · 0 评论 -
SpringBoot统一异常处理(一)
SpringBoot统一异常处理01、分析统一跳转:/error 这是一种全局的机制配置类:补充状态进行跳转 – 局部的机制自定义页面的方式,方便我们可以把error.html随心所欲的进行存放问题:其实给开发增大的工作量,不明确具体异常信息,如果要追求细粒度的控制。内部定义的状态 HttpStatus.状态枚举,是一个大方向的错误指定比如:INTERNAL_SERVER_ERROR 它是服务器只要任何方法执行报任何异常Exception 都会是500。这就会给开发者带来困扰,给用原创 2022-03-30 09:24:59 · 1588 阅读 · 0 评论 -
Springboot关于错误页面处理和统一异常处理
01、概述在项目访问的时候我们经常会发生错误或者页面找不到,比如:资源找不到404,服务器500错误,默认情况下springboot的处理机制都是去跳转内部的错误地址:/error 和与之对应的一个错误页面02、项目错误页面的呈现01、导入依赖 freemakrer<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start原创 2022-03-30 09:24:07 · 2975 阅读 · 0 评论 -
SpringBoot中的环境隔离-Profiles
SpringBoot中的环境隔离-Profiles01、概述在企业开发中,一般我项目分别如下几种环境:开发环境测试环境生产环境分析:在开发中,环境很多,而且每种环境的账号和密码。以及IP地址等都不一样。所以对我们程序开发来说就会存在非常麻烦的事情。如何去做环境隔离。02、sprignboot的环境隔离profiles 进行环境隔离和激活,具体步骤如下:第一步:在resources目录下新建两个环境文件 applicaiton-dev.yml 和 applicaito原创 2022-03-30 09:23:23 · 880 阅读 · 0 评论 -
spring-boot企业级日志输出
01、官网https://docs.spring.io/spring-boot/docs/2.6.1/reference/htmlsingle/#features.logging02、自定义日志配置可以通过在类路径中包含适当的库来激活各种日志系统,并且可以通过在类路径的根目录或以下 SpringEnvironment属性指定的位置提供合适的配置文件来进一步定制:logging.config.您可以使用org.springframework.boot.logging.LoggingSystemsyst原创 2022-03-29 14:40:12 · 202 阅读 · 0 评论 -
SpringBoot中日志的处理
目标学习springBoot的日志设置日志级别设置日志格式解决Log4j2的漏洞学习日志的打印方式为啥要学习日志框架方便调试方便后续查看日志它输出到文件中日志它输出到数据库中ELK查看日志日志框架的好处日志:方便调试程序,排除,以及统计。大数据分析----海量的程序日志分析 + 用户行为日志的分析进行日志的分割,处理,格式也可以控制。是一种明确需求的形式为什么System.out.println不行?System.out.println 影原创 2022-03-29 14:34:46 · 1057 阅读 · 0 评论 -
Spring Boot日志配置
Spring Boot 将Commons Logging用于所有内部日志记录,但保持底层日志实现处于打开状态。为Java Util Logging、Log4J2和Logback提供了默认配置。在每种情况下,记录器都预先配置为使用控制台输出,也可以使用可选的文件输出。默认情况下,如果您使用“Starters”,则使用 Logback 进行日志记录。还包括适当的 Logback 路由,以确保使用 Java Util Logging、Commons Logging、Log4J 或 SLF4J 的依赖库都能正常工原创 2022-03-29 14:20:01 · 245 阅读 · 0 评论 -
SpringBoot读取配置文件(重点)
SpringBoot分别提供3中方式读取项目的application.properties配置文件的内容。这个方式分别为:Environment类、@Value注解以及@ConfigurationProperties注解。你必须要知道的事情:下面提供的三种方式,都可以拿到配置文件的信息,不要纠结那种方式好与坏。你爱用中方式就用那种方式。只要能解决问题就可以了。1、EnvironmentEnvironment是用来读取应用程序运行时的环境变量的类,可以通过key-value的方式读取applicat原创 2022-03-29 14:17:56 · 2253 阅读 · 0 评论 -
SpringBoot项目最佳实践
Spring Boot 不需要任何特定的代码布局即可工作。但是,有一些最佳实践会有所帮助。官方:https://docs.spring.io/spring-boot/docs/2.5.8-SNAPSHOT/reference/htmlsingle/#using.structuring-your-code.locating-the-main-class1. 使用“默认”包当一个类不包含package声明时,它被认为是在“默认包”中。通常不建议不适用“默认包”。这可能会导致使用了Spring启动应用程序的原创 2022-03-29 14:14:08 · 607 阅读 · 0 评论 -
SpringBoot中Starters是什么
Starters 是一组方便的依赖描述符,您可以将它们包含在您的应用程序中。您可以获得所需的所有 Spring 和相关技术的一站式服务,而无需搜索示例代码和复制粘贴加载的依赖项描述符。例如,如果您想开始使用 Spring 和 JPA 进行数据库访问,请spring-boot-starter-data-jpa在您的项目中包含依赖项。starters作用解决第三个的依赖问题(一堆配置类,可以帮助我们解决很多初始化配置类的问题,我们可以做拿来主义者,不需要造轮子)解决依赖版本的问题。就程序员不需要在去关注原创 2022-03-29 11:55:18 · 794 阅读 · 0 评论 -
Spring Boot 项目文件介绍
一、解析 pom.xml 文件(1)让我们来看看默认生成的 pom.xml 文件中到底有些什么:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/原创 2022-03-29 11:51:14 · 592 阅读 · 0 评论 -
使用 Idea 快速搭建 Spring Boot
官网构建器快速构建器:https://start.spring.io/快速入门指南:https://spring.io/quickstart第一步:新建 Spring Initializr 项目:(1)选择 Spring Initializr(2)选择 SDK,点击【new】这里就是使用 JAVA SDK 要求版本 1.8+,选择你默认安装在 C:\Program Files\Java\jdk1.8.0_191 目录:然后选择默认的 url (不用管)点击【Next】:(3)先勾选上 Web原创 2022-03-29 11:38:12 · 1477 阅读 · 0 评论 -
SpringBoot系统环境要求(重点)
进入企业对环境理解的重要性未来如果你进入到企业,你开发的01、一定先把代码下载下来,02、确定你项目的技术架构03、运行你的项目。但是在运行之前,最好一定尽早的问,公司是否有产品的项目白皮书(说明书),如果没有,一定问如果遇到问题,我可以咨询哪位。04、运行这个项目,现在公司的一个基础环境是什么样子的呢?05、然后在去运行项目。SpringBoot的环境要求(1)JDK 环境必须是 1.8 或者jdk11版本及以上(2)后面要使用到 Maven 管理工具 3.5+ 及以上版本 建议是:原创 2022-03-29 11:31:37 · 4190 阅读 · 0 评论 -
SpringBoot的概述
Spring Boot 是由 Pivotal 团队提供的全新框架。可以轻松创建独立的、生产级的基于 Spring 的应用程序。可用于快速开发扩展性强、微小项目、业界称之为:“微框架”。毋庸置疑SpringBoot的诞生不仅给传统的企业级项目与系统架构带来了全面改进以及升级的可能。同时也给Java程序员带来诸多益处。是Java开发的一大利器。从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置原创 2022-03-29 11:15:04 · 618 阅读 · 0 评论