Spring Boot 从入门到放弃
咸鱼最牛逼
这个作者很懒,什么都没留下…
展开
-
十、SpringBoot入门之重构项目成多模块和项目打包(JAR/WAR)
(一)将项目重构成多模块 重构成多模块流程: 第一步:更改最顶层节点的打包方式为pom :<packaging>jar</packaging>变成<packaging>pom</packaging> 第二步:构建model模块 第三步:构建persistence模块,依赖model原创 2018-06-30 09:18:52 · 2624 阅读 · 1 评论 -
二十九、Springboot整合Web services,构建SOAP服务
(一)添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> <de...原创 2018-10-17 20:27:45 · 9573 阅读 · 2 评论 -
二十四、Springboot整合Spring Cache及其使用案例
(一)Spring Cache简介 Spring Cache核心接口:org.springframework.cache.CacheManagerorg.springframework.cache.Cache 其中,CacheManager根据Cache的name管理所有的Cache,例如://cache-1就是某个Cache的nameCache cache = cacheMan...原创 2018-10-10 22:45:47 · 1848 阅读 · 0 评论 -
二十八、Springboot整合WebSocket(长连接),聊天室案例
(一)WebSocket简介 WebSocket是一种通讯协议,通过单个TCP连接提供完全多工通讯管道。大白话就是:WebSocket协议相对于Http协议来说,它能在一段时间内一直保持连接,而Http协议是三次握手后就断开连接。WebSocket经常用于聊天室这种实时通讯场景。 WebSocket协议地址相对于Http协议地址来说,Schema部分变了:Http地址:http://hos...原创 2018-10-16 19:24:09 · 4115 阅读 · 4 评论 -
二十二、Spring Boot中Spring Data Repository
JPA对数据的增删改查进行了封装,核心接口就是Repository。下面展示如何使用封装好的API:(一)新建CustomerRepository/** * 客户仓储 * @author 咸鱼 * @date 2018/9/29 22:51 * SimpleJpaRepository<Customer, Long>:泛型1:持久化的对象类型 泛型2:持久化的对象的主键类...原创 2018-09-29 23:27:05 · 445 阅读 · 0 评论 -
二十一、Spring boot中Jpa持久化监听器,拦截增删改查
在JPA中,我们使用Java Persistence API进行数据的持久化(增删改查),相应的该API也提供了监听数据持久化生命周期中的回调方法,主要由以下几个注解来实现:* @PrePersist 保存前* @PostPersist 保存后* @PreRemove 删除前* @PostRemove 删除后* @PreUpdate 更新前* @PostUpdate 更...原创 2018-09-29 22:38:07 · 9315 阅读 · 2 评论 -
二十、Spring boot集成Jpa API
(一)添加依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt; &lt;/原创 2018-09-29 20:09:20 · 404 阅读 · 0 评论 -
二十七、Springboot整合Validation(验证)
(一)常用注解//开启验证,标注在待验证的Object对象上@Valid//标注在待验证的字段上@NotNull@Null@Size@Min@Max(二)具体使用1、添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>...原创 2018-10-14 19:51:15 · 12833 阅读 · 1 评论 -
二十六、Springboot整合kafka
(一)添加依赖 &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.kafka&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;spring-kafka原创 2018-10-14 11:05:13 · 951 阅读 · 0 评论 -
三十四、Springboot 自动装配
(一)自动装配介绍 在以前的Spring中,我们需要使用一个依赖,比如(Druid),那么我们在引入这个依赖以后,还需要在XML配置文件中配置一大堆类及其属性。但是在Springboot中,我们只需要在application.yml中定义一些属性就可以实现 Druid 的正常使用,他所用到的技术就是自动装配。(二)自动装配的实现 我们的案例是自动装配Person对象,实现自动装配有两种方...原创 2018-10-28 10:20:00 · 1087 阅读 · 1 评论 -
三十、Springboot整合Logback日志
(一)添加依赖 Springboot2.0自动整合了logback和log4j2,所以无需引入相关依赖。(二)创建logback配置文件 首先,官方推荐使用的xml名字的格式为:logback-spring.xml而不是logback.xml,至于为什么,因为带spring后缀的可以使用&amp;lt;springProfile&amp;gt;这个标签(PS:这个标签用于切换“开发环境”和“生产环境”)...原创 2018-10-23 20:47:49 · 1702 阅读 · 0 评论 -
三十七、springboot2.0解决跨域请求问题
package com.bms.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.conf...原创 2019-06-06 21:05:05 · 490 阅读 · 0 评论 -
三十六、Springboot整合Vue
进入项目目录,执行 build 命令:npm run build该命令执行成功之后,项目目录下生成一个dist文件夹:将该文件夹中的两个文件static和index.html拷贝到SpringBoot项目中resources/static/目录下,然后就可以通过http://localhost:8082/index.html访问vue项目。...原创 2019-05-28 19:06:32 · 261 阅读 · 0 评论 -
三十四、Springboot 在拦截器中注入对象
(一)问题背景 因为拦截器是在上下文容器 Spring Context 初始化之前执行,所以没有办法直接在拦截器中注入Service对象,解决办法如下:(二)拦截器中注入Bean对象package com.yuedu.config;import com.yuedu.interceptor.SessionInterceptor;import org.springframewor...原创 2019-03-11 23:11:53 · 2069 阅读 · 2 评论 -
三十五、Springboot接收数组参数
前端:var ids = [1,2,3,4];url:...method: 'DELETE'data: ids....后台:public resultDto deleteBooks(@RequestBody Long[] ids) { ...}关键点:1、前台:data: ids2、后台:@RequestBody Long[] ids...原创 2019-03-15 23:23:21 · 5228 阅读 · 0 评论 -
三十三、Springboot整合测试(Junit)
参见SpringBoot使用Junit单元测试转载 2018-10-27 20:30:17 · 787 阅读 · 0 评论 -
三十三、Springboot整合 Actuator
(一)Actuator简介参见Spring Boot 2.0 中使用 Actuator(二)具体实现1、首先设置访问端口和根路径,暴露可访问的接口management: server: #监控端口 port: 8081 servlet: #监控的根路径 context-path: / #暴露所有监控接口 endpoints:...原创 2018-10-27 16:43:57 · 352 阅读 · 0 评论 -
三十二、Springboot 配置
(一)配置的作用 Spring Boot 应用的外部配置资源,这些配置资源能够与代码相互配合,避免硬编码 方式,提供应用数据或行为变化的灵活性。(二)类型Properties 文件YAML 文件环境变量Java 系统属性命令行(三)加载顺序热加载测试命令行Servlet 参数(ServletConfig、ServletContext)JNDI先系统属性,再环境变...原创 2018-10-27 15:20:28 · 160 阅读 · 0 评论 -
三十一、Springboot整合JMX(监控)
(一)JMX规范和应用场景介绍 参见Java分布式应用学习笔记08JMX规范与常用的监控场景(二)Springboot整合JMX1、暴露MBean@Component@ManagedResource( objectName = "org.pc.jmx:type=SimpleBean", description = "这里是描述")public cla...原创 2018-10-26 20:24:17 · 9377 阅读 · 0 评论 -
十九、Spring boot中整合mybatis-generator自动生成代码
(一)添加插件<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> &am原创 2018-09-28 21:20:08 · 223 阅读 · 0 评论 -
十八、Spring boot中Mybatis整合分页插件PageHelper
(一)添加依赖&amp;lt;!-- mybatis分页插件 --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.github.pagehelper&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt原创 2018-09-28 21:12:28 · 1928 阅读 · 0 评论 -
八、SpringBoot入门之统一异常处理
(一)背景介绍 以前我在代码中,都是直接在service层将各种状态码返回,比如下方代码: 1.状态码枚举public enum ResultEnum { UNKOWN_ERROR(-1, &quot;未知错误&quot;), SUCCESS(0, &quot;成功!&quot;), FAILURE(1, &quot;失败!&quot;), PARAM_ERR原创 2018-06-27 18:04:33 · 297 阅读 · 0 评论 -
七、SpringBoot入门之使用AOP处理请求
(一)前期准备 添加POM依赖: &lt;!--aop--&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spr原创 2018-06-27 11:18:27 · 287 阅读 · 0 评论 -
六、SpringBoot入门之表单验证(@valid注解)
(一)背景介绍 表单验证就是对前端传过来的参数进行验证,若不符合规范,可以禁止后续操作,且显示规范中的异常信息。(二)使用流程 我们以向girl表中添加数据为例进行讲解。 1.girl表CREATE TABLE `girl` ( `id` int(11) NOT NULL, `age` int(11) DEFAULT NULL, `cup_size` va...原创 2018-06-27 10:47:48 · 1007 阅读 · 0 评论 -
五、SpringBoot入门之Restful风格API注意事项
SpringBoot对Restful风格API有天然的支持,不需要再像SpringMVC一样给Restful风格API增加额外的配置。但是SpringBoot对API的支持相对于SpringMVC也发生了变化,变化如下: 在SpringMvc中,一般为了简化路径,一系列类似的路径,都会将头放在类的注解中,比如@RestController("/girls"),后面的路径就自动带上了“/g...原创 2018-06-27 10:04:21 · 388 阅读 · 0 评论 -
四、SpringBoot入门之数据库操作(以hibernate为例)
(一)前期准备 1.准备依赖 &amp;lt;!--数据库相关 start--&amp;gt; &amp;lt;!--连接数据库--&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&原创 2018-06-27 07:57:54 · 918 阅读 · 0 评论 -
三、SpringBoot入门之跳转页面
Spring中,所有的页面都是存放在项目的“webapp/WEB-INF/jsp”文件加下,若我们需要跳转到某个页面,直接访问即可,比如: @RequestMapping public String init(Model model){ advertisementService.searchByPage(null, 1, model); ret...原创 2018-06-26 21:50:39 · 849 阅读 · 0 评论 -
二、SpringBoot入门之热部署
pom.xml中直接在spring-boot插件中添加依赖即可: &amp;lt;plugin&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot原创 2018-06-26 21:10:50 · 164 阅读 · 0 评论 -
一、SpringBoot入门之项目属性配置
(一)项目属性配置之属性配置文件 以前的Spring配置文件都是“*.properties”,而在SpringBoot中支持一种更优化的配置文件“*.yml”,它的用法如下:#server中的参数都是SpringBoot提供的server: #设置项目端口号 port: 8081 servlet: #设置项目的根路径 context-path: /sprin...原创 2018-06-26 21:06:13 · 237 阅读 · 0 评论 -
九、SpringBoot入门之单元测试
Controller层和Service层的测试方式不太一样,因为Controller层是有请求路径和请求方法的,而Service层是纯方法,分别看测试用例: (一)Controller层测试//测试环境@RunWith(SpringRunner.class)//测试注解@SpringBootTest//测试Controller层专门的注解@AutoConfigureMock...原创 2018-06-27 21:19:02 · 182 阅读 · 0 评论 -
十一、Spring Boot完美使用FastJson解析JSON数据
Spring Boot集成了Jackson框架来处理JSON数据,但目前FastJson框架是处理JSON数据最高效的框架,如何替换Jackson框架,步骤如下:(一)添加依赖<!--spring boot默认的json工具是jackson,因为fastjson更快,所以这里需要替换成fastjson--> <dependency> ...原创 2018-09-12 20:35:35 · 2133 阅读 · 0 评论 -
十七、Spring Boot整合Mybatis+Druid
(一)添加依赖 &lt;!-- jdbc --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-jdbc&lt;/arti原创 2018-09-28 19:12:32 · 171 阅读 · 0 评论 -
二十三、Spring Data集成Jdbc、Redis、Mongodb、Elasticsearch等数据库的套路
Spring Data整合Jdbc、Redis、Mongodb、Elasticsearch等数据库的核心接口:org.springframework.data.repository.Repositoryorg.springframework.data.repository.CrudRepositoryorg.springframework.data.repository.PagingAn...原创 2018-10-06 10:35:37 · 597 阅读 · 0 评论 -
二十五、Springboot整合redis及其使用案例
1、添加依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt; &lt;原创 2018-10-11 19:41:12 · 1846 阅读 · 1 评论 -
十六、使用编码方式完成对嵌入式Servlet容器的配置(eg:Tomcat)
一般来说,我们是在application.xml中完成对嵌入式Servlet容器的配置(eg:Tomcat),比如更改端口之类:server.port = 8888 在SpringBoot中通用可以通过编码方式来完成该配置://在启动类中执行//注意:WebServerFactoryCustomize 2.0版本以后才有@Bean public static WebServe...原创 2018-09-19 21:06:08 · 184 阅读 · 0 评论 -
十三、在Spring Boot中使用jsp(不推荐)
Sprint Boot 的web项目对于视图的显示支持和推荐使用的是模板(template),不再直接支持JSP,这里展示如何支持JSP!(一)添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>js...原创 2018-09-13 21:35:49 · 1905 阅读 · 0 评论 -
十五、在Spring Boot中使用Servlet组件(Servlet、Filter、监听器)
注意,在Spring Boot中不再直接支持Servlet组件,如若使用,需要一些额外的操作!! 扩展:监听器有如下接口javax.servlet.ServletContextListenerjavax.servlet.HttpSessionListenerjavax.servlet.HttpSessionActivationListenerjavax.servlet.Servle...原创 2018-09-18 23:28:29 · 322 阅读 · 0 评论 -
十二、Spring Boot集成的运维管理工具
(一)添加依赖 <!--运维管理工具依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artif...原创 2018-09-13 20:00:37 · 1172 阅读 · 0 评论 -
十四、Spring Boot中使用Thymeleaf模板引擎
(一)添加依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;&原创 2018-09-14 18:38:43 · 159 阅读 · 0 评论 -
三十八、SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式
1.创建日期转换类package com.bms.config.time;import com.bms.exception.BaseException;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.core.JsonProcessingException;import com.fast...原创 2019-07-12 21:34:35 · 2357 阅读 · 1 评论