Spring Boot学习笔记
Spring Boot学习笔记
gnail_oug
这个作者很懒,什么都没留下…
展开
-
idea通过main方法启动springboot项目找不到页面
一、问题描述idea:2019.1springboot:v2.1.2.RELEASEOS:macOS High Sierra 10.13.6通过在idea里配置的Tomcat启动能访问到页面,而直接通过main方法启动,控制台没有报错,正常启动,但访问不到页面,后台action能正常访问。如下:二、参考解决方法点击main方法启动类的Edit Configurations按钮打开Ru...原创 2019-05-07 11:02:42 · 8534 阅读 · 2 评论 -
idea使用debug模式启动非常慢
一、问题描述环境:macOS High Sierra 版本10.13.6idea:2019.1最近在使用idea的debug模式启动springboot项目时,在Root WebApplicationContext: initialization completed in 2532 ms之后会卡着一段时间才输出Initializing ExecutorService 'application...原创 2019-05-07 10:11:22 · 11454 阅读 · 8 评论 -
解决mybatis generator使用新版mysql驱动8.0版本时会生成用户下多个库里的表的问题
MyBatis Generator的使用介绍请参照:Spring Boot教程(十五):Spring Boot集成mybatis generator自动生成代码插件一、问题描述当使用mysql驱动8.0新版本时,如果jdbcConnection的userId属性指定的用户下有多个数据库,并且每个数据库里都有tbl_user表,那么生成实体时默认会把这几个库里的tbl_user表都生成实体。如下...原创 2018-12-04 11:35:06 · 4882 阅读 · 7 评论 -
使用新版本mysql的jdbc驱动时报时区问题
java.sql.SQLException: 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 conf...原创 2018-11-30 15:22:40 · 8642 阅读 · 3 评论 -
升级fastJson版本报错:java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*'
一、问题描述在springboot项目中,将fastJson版本升级到1.2.59,然后用postman工具访问get请求方法时报错java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type ‘*’,详细错误信息如下:2019-09-03 11:49:28.276 ERROR 32168 --- [...原创 2019-09-03 16:41:44 · 1903 阅读 · 1 评论 -
Spring Boot教程(二十二):Spring Boot集成JWT
本例代码是在Spring Boot教程(十一):Spring Boot集成fastjson基础上修改,修改内容主要包括:pom.xml文件里依赖版本进行了升级去掉了jsp集成注:不需要参考第十一讲源码,直接查看本文底部源码即可。一、简介JSON Web Token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),它定义了一种紧凑(Com...原创 2019-09-03 16:45:37 · 3036 阅读 · 3 评论 -
Spring Boot教程(二十一):Spring Boot使用Quartz定时任务
上一篇讲了Spring自带的任务调度,这篇介绍Quartz任务调度。Quartz可以将信息放到内存里,也可以放到数据库中,下面分别介绍这两种方式。一、采用内存方式使用Quartz1、新建一个简单的Spring Boot项目pom.xml内容如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="h...原创 2018-06-27 10:29:00 · 47399 阅读 · 11 评论 -
Spring Boot教程(二十):Spring Boot使用String Task定时任务
一、JAVA常见的几种定时任务比较Timer:jdk自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让程序按照某一个频度执行,但不能在指定时间运行,一般很少使用,主要用于非Spring项目简单的任务调度。Spring Task:Spring3.0以后自带的Task,可以将它看成一个轻量级的Quartz,使用起来比Qua...原创 2018-06-26 16:19:21 · 10106 阅读 · 3 评论 -
Spring Boot整合shiro后导致@Cacheable、@Transactional等注解失效的问题
一、问题描述Springboot整合shiro前,service里的@Cacheable、@Transactional等注解都正常使用。整合shiro之后,UserRealm类里自动注入的service中的注解失效UserRealm代码如下:public class UserRealm extends AuthorizingRealm { private static...原创 2018-06-15 15:37:28 · 3970 阅读 · 3 评论 -
Spring Boot教程(十九):Spring Boot集成shiro ehcache(使用shiro的缓存管理)
一、项目准备为了方便,这里直接使用Spring Boot教程(十六):Spring Boot集成shiro章节的源码。二、添加依赖<!-- cache --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...原创 2018-06-15 15:10:35 · 9646 阅读 · 2 评论 -
Spring Boot教程(十八):Spring Boot集成shiro ehcache
一、项目准备为了方便,这里直接使用Spring Boot教程(十六):Spring Boot集成shiro章节的源码。二、添加依赖<!-- cache --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...原创 2018-06-14 19:12:17 · 4303 阅读 · 2 评论 -
Spring Boot教程(十七):Spring Boot导出war包部署到外部Tomcat
对于创建的jsp的web项目,有时想把项目打成war包部署到外部的Tomcat上,要达到这种目的,需要修改一些东西。一、修改Maven的打包方式Maven默认的packing为jar,所以要将其改为war:&lt;packaging&gt;war&lt;/packaging&gt;二、修改内迁容器的依赖范围将spring-boot-starter-tomcat的要构建可...原创 2018-06-14 19:08:07 · 3538 阅读 · 1 评论 -
Spring Boot教程(十六):Spring Boot集成shiro
Apache Shiro™是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序 - 从最小的移动应用程序到最大的Web和企业应用程序。更多内容请查看官网一、项目准备为了方便,这里直接使用Spring Boot教程(十一):Spring Boot集成fastjson章节的源码。二、添加依赖...原创 2018-06-12 11:02:21 · 19457 阅读 · 17 评论 -
Spring Boot教程(十五):Spring Boot集成mybatis generator自动生成代码插件
其实MyBatis Generator并不需要spring boot环境,只需要自己写一个main方法运行即可。本文主要介绍使用maven插件的方式。注:本文采用的MyBatis Generator版本为:1.3.6一、MyBatis Generator介绍MyBatis Generator,缩写MBG,是一个Mybatis和iBatis的代码生成器。它支持Mybatis的所有版本,支...原创 2018-05-22 14:02:16 · 34940 阅读 · 20 评论 -
Spring Boot教程(十四):Spring Boot集成ehcache缓存
Spring Boot的cache支持多种缓存,参考缓存支持,其中常用的有EhCache和Redis,Redis需要安装redis服务器,而EhCache不依赖任何第三方软件,只需引入jar即可。下面主要介绍ehcache的集成方法。一、项目准备直接使用Spring Boot教程(十一):Spring Boot集成fastjson章节的源码。二、添加依赖在pom.xml里添加ehc...原创 2018-05-16 11:31:36 · 7134 阅读 · 7 评论 -
Spring Boot教程(十三):Spring Boot文件上传
一、创建一个简单的包含WEB依赖的SpringBoot项目pom.xml内容:<!-- Spring Boot web启动器 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-...原创 2018-05-15 15:55:31 · 384348 阅读 · 70 评论 -
Spring Boot教程(十二):Spring Boot集成热部署插件devtools
一、介绍在开发工程中,修改一点儿代码,想看效果就需要重新启动服务,这样会花费大量时间在重启服务上,通过devtools热部署可以大大减少重启服务的时间。之所以能减少时间,是因为Spring Boot自动重启的原理在于使用两个classloader:不改变的类(如第三方jar)由base类加载器加载,正在开发的类由restart类加载器加载。应用重启时,restart类加载器被扔掉重建,而b...原创 2018-05-09 13:16:24 · 5831 阅读 · 2 评论 -
Spring Boot教程(十一):Spring Boot集成fastjson
一、项目准备直接使用上个章节的源码,Spring Boot教程(十):Spring Boot集成jsp二、添加依赖从spring-boot-starter-web里去除spring-boot-starter-json依赖,添加fastjson依赖:<!-- Spring Boot web启动器 --><dependency> <group...原创 2018-05-08 14:57:52 · 14632 阅读 · 5 评论 -
Spring Boot教程(十):Spring Boot集成jsp
一、项目准备直接使用上个章节的源码,Spring Boot教程(九):Spring Boot集成Mapper4二、添加依赖<!-- jsp --><dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId>...原创 2018-05-08 12:31:43 · 4749 阅读 · 3 评论 -
Spring Boot教程(九):Spring Boot集成Mapper4
一、项目准备直接使用上个章节的源码,Spring Boot教程(八):Spring Boot集成pagehelper分页插件二、添加mapper4依赖<!-- mapper4 --><dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-...原创 2018-05-07 18:22:13 · 5129 阅读 · 2 评论 -
Spring Boot教程(八):Spring Boot集成pagehelper分页插件
一、项目准备直接使用上个章节的源码,Spring Boot教程(七):Spring Boot集成druid连接池为了方便,后面章节不再根据章节内容修改包名和启动类名,所以先对上节源码做以下修改:1、包名修改将包名com.songguoliang.mybatis修改为com.songguoliang.springboot。2、修改启动类将启动类DruidApplication...原创 2018-05-07 18:19:43 · 35731 阅读 · 12 评论 -
Spring Boot教程(七):Spring Boot集成druid连接池
一、项目准备直接使用上个章节的源码,Spring Boot教程(六):Spring Boot集成mybatis二、添加druid依赖<!-- druid --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot...原创 2018-05-02 21:19:18 · 39368 阅读 · 4 评论 -
Spring Boot教程(六):Spring Boot集成mybatis
一、前置条件先创建好一个最简单的spring boot项目,可参考之前章节的源代码或直接自己创建一个。二、创建数据库创建数据库create database springboot;创建用户表tbl_user并插入测试数据CREATE TABLE `tbl_user` ( `user_id` bigint(20) NOT NULL, `user_name`...原创 2018-05-02 21:14:30 · 8758 阅读 · 5 评论 -
Spring Boot教程(五):默认日志logback
一、简述Spring Boot内部日志系统使用的是Commons Logging,但开放底层的日志实现。默认为会Java Util Logging, Log4J, Log4J2和Logback提供配置。每种情况下都会预先配置使用控制台输出,也可以使用可选的文件输出。默认情况下,如果你使用’Starter POMs’,那么就会使用Logback记录日志。为了确保那些使用Java Util L...原创 2018-05-02 12:48:50 · 8883 阅读 · 1 评论 -
Spring Boot教程(四):多环境配置
一、多环境配置方法在项目开发、测试、生产环境中,一些配置参数不尽相同,比如log级别、数据库连接参数等,每次切换环境时都要修改这些参数,参数多了很容易出错,而且不利于通过命令行等设置参数方式切换环境。为了方便环境之间的切换,可以通过profile来实现,Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}...原创 2018-04-29 22:13:45 · 3703 阅读 · 3 评论 -
Spring Boot教程(三):配置文件
一、外部化配置Spring Boot允许外化(externalize)你的配置,这样你能够在不同的环境下使用相同的代码。你可以使用properties文件,YAML文件,环境变量和命令行参数来外化配置。使用@Value注解,可以直接将属性值注入到你的beans中,并通过Spring的Environment抽象或绑定到结构化对象来访问。Spring Boot使用一个非常特别的Property...原创 2018-04-27 18:20:59 · 4698 阅读 · 1 评论 -
Spring Boot教程(二):Spring Boot初体验Demo说明
上面一篇我们体验了一下Spring Boot,这一篇我们简单对上一篇的例子说明一下。一、代码结构Spring Boot项目结构是maven的基本结构,启动类一般放到代码的根包里,如com.songguoliang.demo,官方推荐根包为反向域名。resources为资源包,里面放置所需要的配置文件test里面存放测试相关的内容二、pom.xml<!-- Sp...原创 2018-04-27 18:14:24 · 4054 阅读 · 1 评论 -
Spring Boot教程(一):体验Spring Boot
一、概述Spring Boot并不是一门新的技术,它是一个集成框架,本质上就是Spring,用于简化Spring项目的各种繁琐的配置。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。Spring Boot的特性:创建可以独立运行的 Spring 应用。直接嵌入 Tomc...原创 2018-04-26 14:56:14 · 20329 阅读 · 5 评论 -
maven打包springboot项目运行提示jar中没有主清单属性
项目通过maven打包后,使用java -jar命令运行,提示下面的错误:pocket@mac java -jar eureka-server-1.0-SNAPSHOT.jar --spring.profiles.active=peer1eureka-server-1.0-SNAPSHOT.jar中没有主清单属性解决方法: 在pom文件中添加spring-boot-maven-pl...原创 2018-04-21 07:46:26 · 10969 阅读 · 4 评论 -
SpringBoot自定义属性乱码
当在application.properties的配置文件中有中文时,读取出来的是乱码。需要进行下面一些操作。原则:约定优越配置,统一所有编码为utf-81、修改开发工具的编码为utf-8,如我的idea编码配置, 2、将application.properites的文件类型修改为UTF-8的编码类型。3、修改application.properties配置文件,添加以下编码设置...原创 2018-04-27 18:16:29 · 3328 阅读 · 4 评论