Spring Boot
SpringBoot,入门到深入
winrh
这个作者很懒,什么都没留下…
展开
-
【SpringBoot】@DS注解失效
@DS无法生效的排查原创 2022-11-10 11:56:30 · 7732 阅读 · 0 评论 -
【SpringBoot】模拟接口测试的一些情况
目的方便做测试的同学练练手代码package com.example.demo.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;impo..原创 2022-03-09 15:32:02 · 352 阅读 · 0 评论 -
【SpringBoot】报错:com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value o
报错内容:com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2021-09-01": not a valid representation (error: Failed to parse Date value '2021-09-01': Unparseable date: "2021-09-01")解决.原创 2021-10-15 09:48:54 · 2226 阅读 · 0 评论 -
@ConditionalOnProperty
用来在配置文件上设置是否开启该配置类,当值为havingValue的值,则开启。默认是空串。1. 在类上注解:@ConditionalOnProperty(prefix = "redis.single", name = "enable", havingValue = "true")2. 在配置文件上编写是否开启:redis.single.enable=true...原创 2021-05-11 17:15:42 · 307 阅读 · 0 评论 -
【Spring Boot】前后端分离时,不同端口的请求如何解决跨域问题
在Spring Boot的控制器类上加注解@CrossOrigin即可。这样前端比如启用3006端口,后端启用8080端口,那么前端也可以访问到后端的服务。(要求springMVC的版本要在4.2或以上版本)原创 2021-02-22 17:26:35 · 1166 阅读 · 0 评论 -
让部署在腾讯云上的项目,即使关闭远程连接也可运行
1. 安装screen工具yum install screen2. 创建screen窗口screen -S [$Name]例如screen -S blog3. screen + 执行你要的命令比如我的:screen java -jar blog.jar4. 退出执行后,ctrl+a,再按d,接着就可以关闭远程连接了。5. 恢复会话再连接上,输入screen -r -d就可以恢复会话了...原创 2021-01-21 14:50:47 · 785 阅读 · 0 评论 -
记录Spring Boot项目部署到腾讯云轻量应用服务器并访问的过程
一、安装jdk81. 目录切换cd usrmkdir javacd java2. 下载jdkwget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/原创 2021-01-21 14:13:05 · 1267 阅读 · 2 评论 -
【Spring Boot】报错:Command line is too long. Shorten command line for
报错内容:Command line is too long. Shorten command line for解决方案:右上角编辑配置shorten command line选jar manifest原创 2021-01-19 11:18:08 · 2316 阅读 · 0 评论 -
【Spring Boot】如何写测试类
测试类需要添加相应注解@Slf4j@AutoConfigureMockMvc@RunWith(SpringRunner.class)@ActiveProfiles("dev")@SpringBootTest(classes = {MyApplication.class})public class MyTest { @Autowired private MockMvc mockMvc; @Test public void list() throws Ex.原创 2021-01-11 10:50:41 · 603 阅读 · 0 评论 -
【Spring Boot】测试时Failed to load ApplicationContext,我的是需要指定运行环境
首先看Caused by的原因,如果你是配置文件的加载问题,则继续往下看。我的是因为多环境,则需要指定环境(无论是运行还是测试)运行时没指定是看不到报错原因的,需要在Run/Debug Configurations里的这里指定环境:--spring.cloud.bootstrap.name=bootstrap-dev对应bootstrap-dev.yml如果是测试,则需要在测试类加上注解:@ActiveProfiles("dev")同样对应bootstrap-.原创 2020-11-06 15:40:29 · 576 阅读 · 0 评论 -
【Spring Boot】使用mockMvc模拟请求以及遇到的问题
1. 设置注解@RunWith(SpringRunner.class)@SpringBootTest(classes = {MyApplication.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)@Slf4j@AutoConfigureMockMvcpublic class MyTest {}2. 模拟请求 String jsonString = mockMvc.perform原创 2020-09-30 17:10:58 · 3568 阅读 · 3 评论 -
【Spring Boot】前台传来的时间,到后台多了8小时
问题原因时区问题解决方法jdbc的url设时区上海:datasource: # 使用阿里的Druid连接池 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver # 填写你数据库的url、登录名、密码和数据库名 url: jdbc:mysql://localhost:3306/xxx?useUnicode=true&原创 2020-09-15 10:56:50 · 932 阅读 · 0 评论 -
【SSM】让控制器方法参数能传多个类的对象(更新Spring Boot做法)
目录一、原因二、做法3. 自实现HandlerMethodArgumentResolver,自定义注解(更接近底层)(1)实现HandlerMethodArgumentResolver解析前端传来的Json(2)在spring-mvc.xml配置该解析器(3)自定义注解(4)控制器使用(5)前端Ajax一、原因@RequestBody只能搞一个二、做法1. 定义一个类,其字段引用其他类(强行聚合,不妥)2. 控制器方法参数列表中使用@RequestBo原创 2020-08-25 11:52:28 · 714 阅读 · 0 评论 -
【报错】Cannot parse date “2020-08-31 00:00:00“: while it seems to fit format ‘yyyy-MM-dd‘T‘HH:mm:ss.SSS
报错内容Cannot parse date "2020-08-31 00:00:00": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSS报错原因这种格式springboot中不能识别并转化。它会抛出异常信息,提示转换失败解决方法在实体类时间属性加注解,比如: @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss"原创 2020-09-15 09:51:21 · 4369 阅读 · 1 评论 -
【SpringBoot】十八、初用Spring Boot Actuator
目录1. 加入依赖2. 修改配置文件3. 运行访问1. 加入依赖 <!-- SpringBoot Actuator --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2020-09-11 16:01:55 · 164 阅读 · 0 评论 -
【SpringBoot】十七、Spring Boot CLI
目录一、安装二、 使用一、安装Spring Boot CLI (Command-Line Interface) can be installed manually by using SDKMAN(The Software Development Kit Manager) or by using Homebrew or MacPorts。那么现安装,网址。执行脚本设置路径。看看官网sdkman安装说明。打开git bash,输入:curl -s "https://ge.原创 2020-09-11 14:25:19 · 153 阅读 · 0 评论 -
【Spring Boot】十六、模拟下面试九连问
目录1. Spring Boot是什么2. 优点3. 核心注解及其构成4. 谈谈JavaConfig5. 自动配置的原理6. 各种配置方式的加载顺序7. 用YAML优缺点1. Spring Boot是什么Spring的子项目,引导(Boot)Spring。可借助各种Starter启动器,快速配置Spring项目,避免繁重的配置。大势所趋,大量的开源项目都实现了其Starter启动器。2. 优点易上手 开箱即用,无需繁琐配置 提供大型项目通用的非业...原创 2020-09-10 17:57:04 · 245 阅读 · 0 评论 -
【SpringBoot】十五、启动器starter及如何自定义
目录一、介绍二、命名三、作用:四、自定义starter1. 要求2. 步骤(1)新建Spring Boot项目,命名starter(2)编写HelloProperties(3)编写服务HelloService(4)编写自动配置类HelloWorldAutoConfiguration(5)spring.factories配上自动配置的路径(6)执行maven命令:maven clean install(7)在其他项目引用该starter(8)修改全局配.原创 2020-09-10 15:04:54 · 588 阅读 · 0 评论 -
【SpringBoot】十四、常见注解(场景及源码)
目录1. @Value(1)应用场景(2)代码举例2. @ConfigurationProperties(1)应用场景(2)代码举例3. @Slf4j(1)应用场景(2)代码举例4. @EnableScheduling(1)应用场景(2)代码举例5. @Scheduled同41. @Value(1)应用场景注解在字段。读取配置文件中单个字段的值。(2)代码举例spring: application: nam.原创 2020-09-04 16:56:34 · 643 阅读 · 0 评论 -
【SpringBoot】十三、代码热部署
目录一、JSP热部署二、Spring Loaded1. maven下载依赖的jar包到本地仓库,也可以阿里仓库去下。2. 编辑内置服务器的VM参数3. 也可以选择mvn spring-boot run去配置,麻烦,不讲4. 测试下热部署可以用Spring Loaded、spring-boot-devtools、JRebel等。这里选用Spring Loaded热部署后端代码,前端JSP热部署,在全局配置文件配置一下就好了。不选spring-boot-devtools,是因为它全原创 2020-09-04 15:26:52 · 404 阅读 · 0 评论 -
【SpringBoot】十二、@Scheduled定时任务(源码)
目录1. 入口类声明启用定时任务2. 创建定时任务类DumpTask3. 原理1. 入口类声明启用定时任务使用@EnableScheduling@SpringBootApplication@MapperScan("com.winrh.mapper")@ServletComponentScan("com.winrh.filter")@EnableSchedulingpublic class DemoApplication { public static voi.原创 2020-09-04 11:52:23 · 679 阅读 · 0 评论 -
【SpringBoot】十一、编辑Banner
SpringBoot的Web组件内部集成了hibernate-validator。原创 2020-09-04 10:20:54 · 156 阅读 · 0 评论 -
【SpringBoot】十、上传单个文件
目录1. 配置上传限制2. 前端3. 控制器接收4. 业务层编写业务方法5. 创建upload目录,测试大抵和SpringMVC操作流程一致。1. 配置上传限制spring: # 配置上传文件最大容量 servlet: multipart: max-file-size: 1024MB2. 前端<form action="/upload" method="post" enctype="multipart/form-data"&.原创 2020-09-03 17:57:09 · 228 阅读 · 0 评论 -
【SpringBoot】九、配置拦截器和过滤器实现验证登录
目录目的一、让内置服务器支持JSP二、拦截器三、过滤器1. 写过滤器2. 在入口类配置四、控制器类五、前端目的想让后端作API接口,给我请求,给你数据。后端返回json数据,包括状态码、数据等。SpringMVC不处理jsp视图,改为json视图(关于json视图上一章已提及)。那么页面跳转交由前端ajax处理,jsp页面放到webapp下,不搞WEB-INF。交由控制器的请求让拦截器拦截,前端的jsp请求让过滤器搞定。一、让内置服务器支持JSP原创 2020-09-03 16:40:50 · 2073 阅读 · 0 评论 -
【SpringBoot】八、使用fastjson返回JSON视图
目录1. 设置依赖2. 写个配置类3. 设置实体类字段的数据格式(1)时间(2)中文编码4. 自行配置业务层、持久层5. 编写控制器6. 访问1. 设置依赖排除SpringBoot默认的json依赖,用阿里的fastjson <dependency> <groupId>org.springframework.boot</groupId> <artifact原创 2020-09-03 11:39:42 · 508 阅读 · 0 评论 -
【SpringBoot】七、整合MyBatis以及MBG逆向工程
一、整合MyBatis1. 导入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </原创 2020-09-03 09:55:31 · 266 阅读 · 0 评论 -
【SpringBoot】六、配置数据库连接池druid
1. 导入依赖使用starter的那个<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version></dependency>2. 到application.yml配置相关信息server: p原创 2020-09-02 17:04:40 · 304 阅读 · 0 评论 -
【SpringBoot】五、日志配置(Log4j2、Logback)
目录一、介绍二、Logback1. 生成日志对象2. 日志级别3. 输出日志文件(1)默认输出(2)自定义输出(3)设置文件属性4. 输出格式设置5. 指定日志配置文件三、Log4j21. 配置依赖2. 配置默认文件log4j2.yml(1)resources下创建log4j2.yml(2)在application.yml中配置读取该yml文件(3)编辑log4j2.yml(4)如果颜色显示不了一、介绍常见的日志框架有下面这...原创 2020-09-02 15:37:19 · 1345 阅读 · 0 评论 -
【SpringBoot】四、SpringBoot全局配置文件
目录1. YAML语法(1)键值对、空格缩进区分等级、大小写敏感(2) 字符串默认不加引号,双引转化(不转义),单引不转化(转义)(3)容器(用-表示容器内元素)2. 配置文件值的注入(1)@ConfigurationProperties(2)@Value3. 分环境SpringBoot全局配置文件有两种形式:application.yml与application.properties。推荐YAML的,简洁,层次分明。1. YAML语法(1)键值对、空格...原创 2020-09-01 17:53:14 · 573 阅读 · 0 评论 -
【SpringBoot】三、分别在内置服务器和外置服务器开发JSP页面
目录一、使用内置服务器1. File->New->Project...2. Spring Initializr->next3. war包4. 勾选web5. 编写pom.xml文件6. 创建jsp文件7. 配置application.properties8. 写个控制器9. 运行入口类10. 访问路径localhost:8080/index即可二、外置服务器1. 同上1~4创建web应用2. 配置pom.xml,不用上面那些依赖了原创 2020-09-01 16:20:52 · 693 阅读 · 0 评论 -
【SpringBoot】二、SpringBoot启动流程之自动配置(源码)
目录前言1. ConfigurationClassParser#processConfigurationClass(1)检查是否注解@Conditional(2)转SourceClass,便于取元注解信息(3)处理带@Bean的方法、接口及父类① 检查是否注解@Component② 处理注解@Import③ 处理@ImportResource④ 找类中@Bean注解的方法⑤找接口中@Bean注解的方法⑥ 存在父类则递归处理(4)将ConfigurationC.原创 2020-09-09 11:41:26 · 531 阅读 · 1 评论 -
【SpringBoot】二、SpringBoot启动流程(源码)
基于第一章的Hello World项目。一、入口类DemoApplication@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}二、进入SpringApplication的run方法1. 跳到这里,创原创 2020-09-01 14:22:04 · 482 阅读 · 0 评论 -
【SpringBoot】一、IDEA配置运行SpringBoot的web项目并用maven管理
目录1. 创建新工程2. 选择Spring Initializr3. 填写相关信息4. 选择web5. 得到项目结构6. 设置下IDEA中maven配置7. 文件解读8. 运行项目1. 创建新工程2. 选择Spring Initializr3. 填写相关信息打包方式可jar可war。因为有内置web服务器,到时运行jar包即可。而war包是可以部署到外部容器上。这里我选war。使用嵌入式Servlet容器: 优点: 简单,...原创 2020-08-31 17:03:13 · 3215 阅读 · 0 评论 -
【SpringBoot】报错:spring boot configuration annotation processor not configured
报错内容spring boot configuration annotation processor not configured解决方法添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artif原创 2020-09-01 17:12:05 · 250 阅读 · 0 评论 -
【SpringBoot】报错:SpringBoot连接数据库时提示org.springframework.dao.DataAccessException
报错内容:SpringBoot连接数据库时提示ClassNotFoundException: org.springframework.dao.DataAccessException解决方法:依赖导入spring-boot-starter-jdbc <dependency> <groupId>org.springframework.boot</groupId> <artifactId>原创 2020-09-02 16:47:26 · 4909 阅读 · 0 评论