![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring-boot
文章平均质量分 79
保持理智,相信未来
这个作者很懒,什么都没留下…
展开
-
Spring单例bean如何处理并发请求
当有多个相同类型的实现时,命名一个Spring bean非常有用。这是因为 bean 没有唯一的名称,那么注入 bean 对 Spring 来说是不明确的。通过控制 bean 的命名,可以告诉 Spring 要将哪个 bean 注入目标对象。Spring为创建 bean提供了多个注解,可以在不同的层次上使用这些注解。例如,可以在 bean 类上放置一些注解,而在创建 bean 的方法上放置一些注解。首先,来看 Spring 的默认命名策略在。当只指定注解而没有任何值时,Spring 如何命名 bean?从在原创 2022-06-18 09:42:21 · 3163 阅读 · 0 评论 -
Spring bean名称
当有多个相同类型的实现时,命名一个Spring bean非常有用。这是因为 bean 没有唯一的名称,那么注入 bean 对 Spring 来说是不明确的。通过控制 bean 的命名,可以告诉 Spring 要将哪个 bean 注入目标对象。Spring为创建 bean提供了多个注解,可以在不同的层次上使用这些注解。例如,可以在 bean 类上放置一些注解,而在创建 bean 的方法上放置一些注解。首先,来看 Spring 的默认命名策略在。当只指定注解而没有任何值时,Spring 如何命名 bean?从在原创 2022-06-18 09:34:55 · 3843 阅读 · 0 评论 -
校验枚举类型
文章目录1.介绍2.校验枚举3.校验枚举的类型4.校验枚举的子集5.验证字符串是否匹配枚举的值1.介绍使用自定义注解校验枚举类型2.校验枚举大多数标准注解都不支持枚举的校验。例如当将 @Pattern 注解应校验枚举时, Hibernate Validator会报以下错误:javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validati原创 2021-08-14 11:43:02 · 2086 阅读 · 0 评论 -
在SpringBoot2设置Max-HTTP-Header-Size
1.介绍默认情况下,Spring Boot Web 应用程序包括一个预配置的嵌入式 Web 服务器。 但是,在某些情况下,希望修改默认配置以满足自定义要求。如何在 Spring Boot 2.x 应用程序的 application.properties 文件中为请求标头设置和使用 max-http-header-size 属性。2. Max-HTTP-Header-SizeSpring Boot 支持 Tomcat、Undertow 和 Jetty 作为嵌入式服务器。 通常,在 Spring Boo原创 2021-08-13 17:22:52 · 9264 阅读 · 0 评论 -
Spring中如何使用@Async
1.概述Spring对异步执行的支持和@Async注解的使用。用@Async注释bean的方法将使它在单独的线程中执行。 换句话说,调用者将不等待被调用方法的完成。Spring中一个有趣的方面是,框架中的事件支持在必要时也支持异步处理。2.启用异步支持首先通过Java配置启用异步处理。通过将@EnableAsync添加到配置类中来完成此操作:@Configuration@EnableAsyncpublic class SpringAsyncConfig { }启用注解就足够了。 还原创 2021-05-13 15:29:16 · 1396 阅读 · 1 评论 -
Spring Boot 2中的延迟初始化
1.概述Spring Boot 2.2开始在应用程序级别配置延迟初始化。2.延迟初始化在Spring中,默认情况下,所有定义的bean及其依赖项都是在创建应用程序上下文时创建的。相反,当使用延迟初始化配置bean时,仅在需要bean时才创建该bean,并注入其依赖项。3.Maven依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId>原创 2021-05-12 09:54:06 · 2671 阅读 · 0 评论 -
启动Spring Boot应用程序时配置堆大小
1.介绍启动Spring Boot应用程序时如何配置堆大小。 配置-Xms和-Xmx,它们对应于起始堆大小和最大堆大小。当在命令行上使用mvn启动应用程序时,将首先使用Maven来配置堆大小。如何使用Maven插件设置这些值。应用程序打包到jar文件中,并使用提供给java -jar命令的JVM参数运行它。2.Maven运行SpringBoot程序2.1传递JVM参数在controller中创建rest接口,获取内存信息:@GetMapping("memory-status"原创 2021-04-19 09:01:31 · 4068 阅读 · 0 评论 -
在Spring Boot中格式化JSON日期
1.概述如何在Spring Boot应用程序中格式化JSON日期字段。使用Jackson格式化日期的各种方式,Jackson被Spring Boot用作其默认的JSON处理器。2.在日期字段上使用@JsonFormat2.1 设定格式可以使用@JsonFormat注解以设置特定字段的格式:@Datapublic class Contact { @JsonFormat(pattern="yyyy-MM-dd") private LocalDate birthday; @原创 2021-04-16 09:17:18 · 935 阅读 · 0 评论 -
Spring Boot:自定义Jackson ObjectMapper
1.概述当使用JSON格式时,Spring Boot将使用ObjectMapper实例来序列化响应并反序列化请求。2.默认配置默认情况下,Spring Boot配置将:禁用 MapperFeature.DEFAULT_VIEW_INCLUSION禁用 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES(默认情况下启用此功能(这意味着如果遇到未知属性,将抛出JsonMappingException)禁用 SerializationFeature.W原创 2021-04-16 09:16:17 · 12738 阅读 · 1 评论 -
Spring Boot应用程序中加载jar外部位置属性文件
1.概述属性文件是一种常见的方法,可用于存储特定于项目的信息。 理想情况下,应该将其保留在jar包外部,以便能够根据需要更改配置。接下来通过各种方式从Spring Boot应用程序中jar外部的位置加载属性文件。2.使用默认位置按照惯例,Spring Boot按照以下优先级顺序在4个预定的位置中寻找一个外部化的配置文件– application.properties或application.yml:当前目录的/config子目录当前目录类路径/config包类路径根加载冲突时,优先级高原创 2021-04-16 09:15:20 · 392 阅读 · 0 评论 -
Spring中的@ConditionalOnProperty注解
1.概述介绍@ConditionalOnProperty注解的主要目的。2.@ConditionalOnProperty的目的通常,在开发基于Spring的应用程序时,可能需要根据配置属性的存在和值有条件地创建一些bean。例如,取决于是否将属性值设置为“ prod”或“ test”,可能想要注册一个DataSource bean来指向生产或测试数据库。幸运的是,实现这一目标并不像想象的那样困难。 Spring框架正是为此目的提供了@ConditionalOnProperty注解。简而言之,@C原创 2021-04-14 16:06:42 · 62682 阅读 · 1 评论 -
Spring和Spring Boot的Properties文件
1.概述如何通过Java配置和@PropertySource在Spring中设置和使用属性。还将看到属性在Spring Boot中的工作方式。2.通过注解注册属性文件Spring 3.1还引入了新的@PropertySource注解,作为将属性源添加到环境的便捷机制。可以将此注解与@Configuration注释结合使用:@Configuration@PropertySource("classpath:foo.properties")public class PropertiesWithJa原创 2021-04-14 16:02:26 · 435 阅读 · 0 评论 -
Spring YAML与properties
1.概述YAML是在配置文件中使用的人性化表示法。 为什么在Spring Boot中,我们更喜欢这种数据序列化而不是属性文件? 除了可读性和减少重复之外,YAML是将Configuration as Code编写为部署的理想语言。以同样的方式,将YAML用于Spring DevOps有助于12因子身份验证器建议的环境中配置变量的存储。接下来,将比较Spring YAML和Properties文件,以检查使用它们之间的主要优点。 但是请记住,选择YAML而非属性文件配置有时是个人喜好的决定。2.YAM原创 2021-04-12 19:18:55 · 705 阅读 · 0 评论 -
使用Spring从YAML文件读取内容映射为Map
1.概述如何在Spring Boot中从YAML文件注入到Map。首先,将对Spring框架中的YAML文件有一些了解。 然后,通过一个实际示例展示如何将YAML属性绑定到Map。2.Spring框架中的YAML文件使用YAML文件存储外部配置数据是一种常见的做法。 基本上,Spring支持使用YAML文档作为属性的替代方法,并在后台使用SnakeYAML对其进行解析。看看典型的YAML文件是什么样的:server: port: 8090 application: name: m原创 2021-04-12 19:18:00 · 16474 阅读 · 0 评论 -
在Spring Boot中使用@PropertySource读取YAML文件
1.概述如何在Spring Boot中使用@PropertySource注解读取YAML属性文件。2.@PropertySource和YAML格式Spring Boot对外部化配置提供了强大的支持。 另外,可以使用不同的方式和格式直接读取Spring Boot应用程序中的属性。但是,默认情况下,@PropertySource不会加载YAML文件。2.5.2. Directly Loading YAMLSpring Framework provides two convenient classe原创 2021-04-12 08:48:29 · 3266 阅读 · 0 评论 -
Spring Boot注解
1.概述Spring Boot的自动配置功能使配置Spring更加容易。在本章中,将介绍org.springframework.boot.autoconfigure和org.springframework.boot.autoconfigure.condition包中的注解。2. @SpringBootApplication使用这个注解来标记Spring Boot应用程序的主类:@SpringBootApplicationpublic class VehicleFactoryApplication原创 2021-04-12 08:46:42 · 105 阅读 · 0 评论 -
Spring Boot面试问题
Q1: 什么是Spring Boot及其主要功能?Spring Boot本质上是在Spring框架之上构建的用于快速应用程序开发的框架。 凭借其自动配置和嵌入式应用程序服务器支持,以及所享受的广泛文档和社区支持,Spring Boot是迄今为止Java生态系统中最受欢迎的技术之一。以下是一些突出的功能:Starters–一组依赖项描述符,可随时包含相关的依赖项Auto-configuration–一种基于类路径上存在的依赖关系自动配置应用程序的方法Actuator–获得生产就绪的功能,例如监控原创 2021-04-09 08:41:03 · 114 阅读 · 0 评论 -
Spring Boot中的@ConfigurationProperties使用指南
1.介绍Spring Boot具有许多有用的功能,包括外部化配置和轻松访问属性文件中定义的属性。2.简单的Properties官方文档建议将配置属性隔离到单独的POJO中。因此,这么做:@Data@Configuration@ConfigurationProperties(prefix = "mail")public class ConfigProperties { private String hostName; private int port; private原创 2021-03-31 16:51:33 · 16521 阅读 · 0 评论 -
springBoot多数据源配置
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>...原创 2019-12-06 11:51:33 · 848 阅读 · 0 评论 -
6.Spring-Boot项目发布到独立的tomcat中
在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境,我希望在独立的tomcat容器中运行,因为我们需要对tomcat做额外的优化,这时我们需要将工程打包成war包发进行发布。1.将spring-boot-starter-tomcat的范围设置为provided1、maven项目,修改pom包将<packaging>jar</pac...原创 2018-03-05 14:01:04 · 214 阅读 · 0 评论 -
Spring Boot高版本数据库连接时间区异常
异常: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configurati...原创 2018-12-27 08:54:43 · 902 阅读 · 0 评论 -
Spring-Boot集成Kafka
这篇文章不讲Kafka相关概念,只是实战。具体了解请参考:《分布式消息中间件实践》《Kafka权威指南》《spring-kafka-reference》spring集成kafka官方文档。以为SpringBoot集成Kafkapom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht...原创 2018-11-03 13:37:26 · 3593 阅读 · 0 评论 -
Druid Spring Boot Starter
https://github.com/alibaba/druid/tree/master/druid-spring-boot-starterDruid Spring Boot StarterDruid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。如何使用 在 Spring Boot 项目中加入druid-s...原创 2018-09-14 15:09:51 · 4892 阅读 · 0 评论 -
Spring Boot Admin基于security认证注册中心版
非注册中心版:https://blog.csdn.net/niugang0920/article/details/82528434缺点就是每一个client都需要写admin-server的地。如果应用都注册在Eureka中就不需要再对每个应用进行配置,Spring Boot Admin会自动从注册中心抓取应用的相关信息。示例:新建maven项目如下结构:parent pom....原创 2018-09-09 18:04:15 · 1911 阅读 · 0 评论 -
Spring Boot Admin基于security认证非注册中心版
GitHub地址,最新版本为2.0.2基于spring boot 2.xhttps://github.com/codecentric/spring-boot-admin注意:选分支版本每个版本还一样:本示例是基于1.5.x开始整合的时候踩了很多坑,都是因为版本不兼容的问题,最后在gitHub上找到。按照官方版本spring boot 用的是1.5.10spring cloud ...原创 2018-09-09 14:04:17 · 5215 阅读 · 2 评论 -
Spring集成Rabbitmq收集Logback日志,利用进行Logstash数据整理存储到Elasticsearch中
项目中我们常用的是把Logback打印的日志存储到文件中保存到硬盘上,这样不利于日志的收集和分析。以下演示在SpringBoot中通过rabbitmq收集logback日志存储到Elasticsearch中。环境准备:安装RabbitMQ,安装Elasticsearch和Elasticsearch-Head(可视化插件),安装Logstash.====》之前博客已经介绍过了。pom.x...原创 2018-08-08 09:51:51 · 8172 阅读 · 0 评论 -
33.SpringBoot中Mybatis高度整合提高应用
额外:现在写博客就是逼着自己多去总结,在以后的项目中少走弯路。公共类1.BaseDao.java BaseService.java两个里面的内容都是一样的,都是对公共的方法用接口进行封装。一个用在持久化层,一个用在业务层,这里只写一个。package org.niugang.dao;import java.util.List;/**** @Desc...原创 2018-07-07 10:51:29 · 323 阅读 · 0 评论 -
32.再谈SpringBoot文件上传
Controller配置 以具体代码为通过时间为文件夹分类上传的文件/**** @Title: upload* @Description: 上传图片* @param file* @throws IOException * @return String * @throws*/@RequestMapping(value = "/upload"...原创 2018-07-06 23:05:57 · 1313 阅读 · 0 评论 -
38.SpringBoot外部化配置及其配置优先级
Spring Boot允许您外部化配置,以便您可以使用同一个应用程序代码在不同的环境中。 您可以使用属性文件,YAML文件,环境变量和外部化配置的命令行参数。 属性值可以直接注入您的bean使用@Value注释,通过Spring的Environment抽象访问或绑定到通过@ConfigurationProperties结构化对象。Spring Boot使用一个非常特殊的PropertySour...原创 2018-07-18 20:39:55 · 1909 阅读 · 0 评论 -
37.再谈Spring Boot Actuator
spring Boot包含许多其他功能,可帮助您在应用程序投入生产时监控和管理它们。 您可以选择使用HTTP端点,JMX甚至远程shell(SSH或Telnet)来管理和监视应用程序。 审计,运行状况和指标收集可以自动应用于您的应用程序.Actuator HTTP端点仅适用于基于Spring MVC的应用程序。 特别是,除非你启用Spring MVC,否则它不适用于Jersey。spring-...原创 2018-07-18 19:46:54 · 930 阅读 · 0 评论 -
36.SpringBoot应用属性加载和自动配置@EnableAutoConfiguration
SpringBoot应用文件加载SpringApplication将从以下位置的application.properties文件加载属性,并将它们添加到Spring环境中:1. file:./config/2. file:./3. classpath:/config/4. classpath:/优先级由高到底,高优先级配置会覆盖底优先级的配置。如果您不喜欢applicatio...原创 2018-07-18 17:26:58 · 7119 阅读 · 2 评论 -
Spring Boot @Validation @Valid
@Valid是使用hibernatevalidation的时候使用@Validated是只用springValidator校验机制使用基于方法参数的校验对基本类型的校验例如:以下服务触发第一个参数的验证,确保其大小在8到10之间:@Service@Validatedpublic class MyBean { public Archive findByCode...原创 2018-12-27 09:34:32 · 3699 阅读 · 0 评论 -
Spring Boot高版本配置数据库连接驱动问题
之前习惯的配置方式:spring.datasource.driver-class-name=com.mysql.jdbc.Driver控制台报如下警告:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The d...原创 2018-12-27 10:13:27 · 5168 阅读 · 0 评论 -
Spring Boot应用建议及脚手架工程
规范详细说明1.遵循标准RESTful API2.异常采用枚举进行封装(业务内部异常往上抛,返回客户端需要将对应的异常转换为具体的状态的,这里介绍Spring提供的全局异常处理)package org.niugang.coding.advice;import lombok.extern.slf4j.Slf4j;import org.niugang.coding.enums.Ex...原创 2018-12-27 11:54:07 · 1044 阅读 · 0 评论 -
SpringBoot中的filter
在 Spring Boot 中使用 Filter 与前面的使用 Servlet 相似,根据 Filter 注册方式的不同,有两种使用方式。若使用的是 Servlet3.0+版本,则两种方式均可使用;若使用的是 Servlet2.5版本,则只能使用配置类方式。1.注解方式若使用的是 Servlet3.0+版本,可以直接使用 Filter 的注解对 Filter 进行注册。其总步骤有两步:在...原创 2019-07-20 16:34:39 · 2486 阅读 · 1 评论 -
@ConfigurationProperties 在Idea中冒红问题
冒红不影响正常的运行,如想结果按照以下步骤。pom.xml增加如下依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor<...原创 2019-05-31 10:35:36 · 11819 阅读 · 0 评论 -
基于SpringSecurity SpringBoot Vue前后端分离系统脚手架项目
项目简介首先在于灵活运用springboot掌握spring security核心学会使用vue建议后端springboot完全可以做为开发脚手架,遵守严格的代码规范,以下为项目包结构。前后vue工程也可以作为项目开发脚手架。效果源码https://gitee.com/niugangxy/springsecurityforspringboot...原创 2019-05-27 20:58:04 · 3370 阅读 · 0 评论 -
SpringBoot WebUploader大文件分片上传
后端技术:SpringBoot2.x页面:freemarkerwebuploader:http://fex.baidu.com/webuploader/getting-started.html1.application.propertiesserver.port=9999spring.freemarker.suffix=.html#上传文件存放目录xdja.upload...原创 2019-04-18 21:10:37 · 5509 阅读 · 20 评论 -
SpringBoot2.x文件上传大小单位设置
##spring.servlet.multipart.max-file-size=3072MBspring.servlet.multipart.max-request-size=3072MB报红单位设置有问题,注意大小写如果你想指定该文件不受限制,将spring.servlet.multipart.max-file-size属性设置为-1Spring Boot包含Servle...原创 2019-04-18 11:07:17 · 14830 阅读 · 1 评论 -
Swagger2在spring拦截器的配置及全局参数设置
一:配置拦截器默认拦截器是对Swagger2请求时拦截的。@Configuration@EnableWebMvcpublic class MvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { ...原创 2019-04-17 10:44:39 · 5117 阅读 · 0 评论