自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 SpringBoot概念

<!-- /\* Font Definitions \*/ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:等线; panose-1:2...

2020-06-29 15:05:51 172

原创 SpringBoot基础回顾

SpringBoot基础回顾1.1 约定优于配置Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring.​ 上

2020-06-29 15:02:30 169

原创 选择变量表达式

选择变量表达式​ 选择变量表达式和变量表达式用法类似,一般用于从被选定对象而不是上下文中获取属性值,如果没有选定对象,则和变量表达式一样,示例代码如下<div th:object="${book}"> <p>titile: <span th:text="*{title}">标题</span>.</p></div>*{title} 选择变量表达式获取当前指定对象book的title属性值。消息表达式​

2020-06-11 14:10:28 402

原创 链接式表达

链接表达式链接表达式@{…}一般用于页面跳转或者资源的引入,在Web开发中占据着非常重要的地位,并且使用也非常频繁,示例代码如下:<a th:href="@{http://localhost:8080/order/details(orderId=${o.id})}">view</a><a th:href="@{/order/details(orderId=${o.id})}">view</a>​ 上述代码中,链接表达式@{…

2020-06-11 14:07:27 538 2

原创 片段表达式

片段表达式片段表达式~{…}用来标记一个片段模板,并根据需要移动或传递给其他模板。其中,最常见的用法是使用th:insert或th:replace属性插入片段,示例代码如下:<divth:insert="~{thymeleafDemo::title}"></div>​ 上述代码中,使用th:insert属性将title片段模板引用到该标签中。thymeleafDemo为模板名称,Thymeleaf会自动查找“/resources/templates/”目录

2020-06-11 14:05:24 278

原创 基本使用

基本使用(1) Thymeleaf模板基本配置​首先 在Spring Boot项目中使用Thymeleaf模板,首先必须保证引入Thymeleaf依赖,示例代码如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency&

2020-06-11 14:03:05 138

原创 完成数据的页面展示

完成数据的页面展示创建Spring Boot项目,引入Thymeleaf依赖编写配置文件​打开application.properties全局配置文件,在该文件中对Thymeleaf模板页面的数据缓存进行设置 #thymeleaf页面缓存设置(默认为true),开发中方便调试应设置为false,上线稳定后应保持默认true spring.thymeleaf.cache=false使用“spring.thymeleaf.cache=false”将Thymele

2020-06-11 13:59:07 202

原创 创建模板页面并引入静态资源文件

创建模板页面并引入静态资源文件​在“classpath:/templates/”目录下引入一个用户登录的模板页面login.html<!DOCTYPE html><html lang="en"xmlns:th="http://www.thymeleaf.org"><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <me

2020-06-11 13:55:18 365

原创 配置国际化页面

配置国际化页面1.编写多语言国际化配置文件​在项目的类路径resources下创建名称为i18n的文件夹,并在该文件夹中根据需要编写对应的多语言国际化文件login.properties、login_zh_CN.properties和login_en_US.properties文件login.propertieslogin.tip=请登录login.username=用户名login.password=密码login.rememberme=记住我login.button=登录

2020-06-11 13:52:30 141

原创 定制区域信息解析器

定制区域信息解析器在完成上一步中多语言国际化文件的编写和配置后,就可以正式在前端页面中结合Thymeleaf模板相关属性进行国际化语言设置和展示了,不过这种实现方式默认是使用请求头中的语言信息(浏览器语言信息)自动进行语言切换的,有些项目还会提供手动语言切换的功能,这就需要定制区域解析器了​ 在项目中创建名为com.lagou.config的包,并在该包下创建一个用于定制国际化功能区域信息解析器的自定义配置类MyLocalResovelpackage com.lagou.config;

2020-06-11 13:48:31 277

原创 基础环境搭建

基础环境搭建1.准备数据使用创建的springbootdata的数据库,该数据库有两个表t_article和t_comment2.创建项目,功能编写(1)在Dependencies依赖选择项中添加SQL模块中的JPA依赖、MySQL依赖和Web模块中的Web依赖(2)编写数据库表对应的实体类,并使用JPA相关注解配置映射关系 import javax.persistence.*; @Entity(name = "t_comment") // 设置ORM实体类,并指定映

2020-06-11 12:12:58 127

原创 自定义RedisCacheManager

自定义RedisCacheManager​ 在项目的Redis配置类RedisConfig中,按照上一步分析的定制方法自定义名为cacheManager的Bean组件@Beanpublic RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {// 分别创建String和JSON格式序列化对象,对缓存数据key和value进行转换RedisSerializer strSerializer = n

2020-06-11 12:08:20 198

原创 全局配置文件

全局配置文件全局配置文件能够对一些默认配置值进行修改。Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/main/resource目录或者类路径的/config,一般会选择resource目录。接下来,将针对这两种全局配置文件进行讲解 :1.5.1 application.properties配置文件使用Spring Initializr方式构建Spring Boot项目时,会在resource目录

2020-06-09 16:16:34 691

原创 配置文件属性值的注入

配置文件属性值的注入使用Spring Boot全局配置文件设置属性时:如果配置属性是Spring Boot已有属性,例如服务端口server.port,那么Spring Boot内部会自动扫描并读取这些配置文件中的属性值并覆盖默认属性。如果配置的属性是用户自定义属性,例如刚刚自定义的Person实体类属性,还必须在程序中注入这些配置属性方可生效。Spring Boot支持多种注入配置文件属性的方式,下面来介绍如何使用注解@ConfigurationProperties和@Value注入属性1.6.

2020-06-09 16:14:53 178

原创 热部署

热部署​ 在开发过程中,通常会对一段业务代码不断地修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能启动成功,这种不必要的重复操作极大的降低了程序开发效率。为此,Spring Boot框架专门提供了进行热部署的依赖启动器,用于进行项目热部署,而无需手动重启项目演示:1.添加spring-boot-devtools热部署依赖启动器**在Spring Boot项目进行热部署测试之前,需要先在项目的pom.xml文件中添加spring-boot-devtools热部署依赖启动器:xml

2020-06-09 16:12:27 200

原创 自定义RedisCacheManager

自定义RedisCacheManager​ 在项目的Redis配置类RedisConfig中,按照上一步分析的定制方法自定义名为cacheManager的Bean组件java@Beanpublic RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {// 分别创建String和JSON格式序列化对象,对缓存数据key和value进行转换RedisSerializer strSerialize

2020-06-09 16:10:28 263

原创 页面国际化使用

打开项目templates模板文件夹中的用户登录页面login.html,结合Thymeleaf模板引擎实现国际化功能<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" con

2020-06-09 16:06:21 123

原创 选择变量表达式

选择变量表达式和变量表达式用法类似,一般用于从被选定对象而不是上下文中获取属性值,如果没有选定对象,则和变量表达式一样,示例代码如下<div th:object="${book}"><p>titile: <span th:text="*{title}">标题</span>.</p></div>*{title} 选择变量表达式获取当前指定对象book的title属性值。3.消息表达式 #{…}​ 消息表达式#{…}主要用于Th

2020-06-09 16:02:37 163

原创 随机数设置及参数间引用​

随机数设置及参数间引用​在Spring Boot配置文件中设置属性时,除了可以像前面示例中显示的配置属性值外,还可以使用随机值和参数间引用对属性值进行设置。下面,针对配置文件中这两种属性值的设置方式进行讲解随机值设置​ 在Spring Boot配置文件中,随机值设置使用到了Spring Boot内嵌的RandomValuePropertySource类,对一些隐秘属性值或者测试用例属性值进行随机值注入 ​ 随机值设置的语法格式为random.xx,xx表示需要指定生成的随机数类型

2020-06-09 15:58:44 241

原创 完成数据的页面展示

完成数据的页面展示创建Spring Boot项目,引入Thymeleaf依赖​ 编写配置文件​ 打开application.properties全局配置文件,在该文件中对Thymeleaf模板页面的数据缓存进行设置properties# thymeleaf页面缓存设置(默认为true),开发中方便调试应设置为false,上线稳定后应保持默认truespring.thymeleaf.cache=false使用“spring.thymeleaf.cache=false”将Thymeleaf默认开启的缓存设

2020-06-09 15:54:03 150

原创 约定优于配置

约定优于配置Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring.​ 上面是引自官网的一段话,大概是说:

2020-06-09 15:50:59 212

原创 自定义RedisCacheManager

自定义RedisCacheManager​ 在项目的Redis配置类RedisConfig中,按照上一步分析的定制方法自定义名为cacheManager的Bean组件@Beanpublic RedisCacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {// 分别创建String和JSON格式序列化对象,对缓存数据key和value进行转换RedisSerializer strSerializer = n

2020-06-09 15:42:54 321

原创 基于API的Redis缓存实现

基于API的Redis缓存实现在Spring Boot整合Redis缓存实现中,除了基于注解形式的Redis缓存实现外,还有一种开发中常用的方式——基于API的Redis缓存实现。这种基于API的Redis缓存实现,需要在某种业务需求下通过Redis提供的API调用相关方法实现数据缓存管理;同时,这种方法还可以手动管理缓存的有效期。下面,通过Redis API的方式讲解SpringBoot整合Redis缓存的具体实现​(1)使用Redis API进行业务数据缓存管理。在com.lagou.serv

2020-06-08 14:27:49 241

原创 注解的Redis缓存实现

注解的Redis缓存实现​ 在Spring Boot默认缓存管理的基础上引入Redis缓存组件,使用基于注解的方式讲解Spring Boot整合Redis缓存的具体实现(1)添加Spring Data Redis依赖启动器。在pom.xml文件中添加Spring Data Redis依赖启动器<dependency> <groupId>org.springframework.boot</groupId> <art

2020-06-08 14:25:07 151

原创 整合Redis缓存实现

整合Redis缓存实现ring Boot支持的缓存组件在Spring Boot中,数据的缓存管理存储依赖于Spring框架中cache相关的org.springframework.cache.Cache和org.springframework.cache.CacheManager缓存管理器接口。如果程序中没有定义类型为CacheManager的Bean组件或者是名为cacheResolver的CacheResolver缓存解析器,Spring Boot将尝试选择并启用以下缓存组件(按照指定的顺序):

2020-06-08 14:22:08 197

原创 默认缓存体验

默认缓存体验在前面搭建的Web应用基础上,开启SpringBoot默认支持的缓存,体验Spring Boot默认缓存的使用效果(1)使用@EnableCaching注解开启基于注解的缓存支持@EnableCaching // 开启Spring Boot基于注解的缓存管理支持@SpringBootApplicationpublic class Springboot04CacheApplication { publicstatic void main(String[]

2020-06-08 14:16:22 79

原创 基础环境搭建

基础环境搭建1.准备数据使用创建的springbootdata的数据库,该数据库有两个表t_article和t_comment2.创建项目,功能编写(1)在Dependencies依赖选择项中添加SQL模块中的JPA依赖、MySQL依赖和Web模块中的Web依赖(2)编写数据库表对应的实体类,并使用JPA相关注解配置映射关系 import javax.persistence.*; @Entity(name = "t_comment") // 设置ORM实体类,并指定映

2020-06-08 14:08:53 100

原创 配置国际化页面

配置国际化页面1.编写多语言国际化配置文件在项目的类路径resources下创建名称为i18n的文件夹,并在该文件夹中根据需要编写对应的多语言国际化文件login.properties、login_zh_CN.properties和login_en_US.properties文件login.propertieslogin.tip=请登录login.username=用户名login.password=密码login.rememberme=记住我login.button=登录l

2020-06-08 14:04:07 220

原创 完成数据的页面展示

完成数据的页面展示创建Spring Boot项目,引入Thymeleaf依赖编写配置文件​打开application.properties全局配置文件,在该文件中对Thymeleaf模板页面的数据缓存进行设置 #thymeleaf页面缓存设置(默认为true),开发中方便调试应设置为false,上线稳定后应保持默认true spring.thymeleaf.cache=false使用“spring.thymeleaf.cache=false”将Thymele

2020-06-08 11:40:27 92

原创 Thymeleaf基本使用

Thymeleaf基本使用(1) Thymeleaf模板基本配置​首先 在Spring Boot项目中使用Thymeleaf模板,首先必须保证引入Thymeleaf依赖,示例代码如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </de

2020-06-08 11:35:38 272

原创 Thymeleaf语法

4.2 ThymeleafThymeleaf是一种现代的基于服务器端的Java模板引擎技术,也是一个优秀的面向Java的XML、XHTML、HTML5页面模板,它具有丰富的标签语言、函数和表达式,在使用Spring Boot框架进行页面设计时,一般会选择Thymeleaf模板4.2.1 Thymeleaf语法常用标签在HTML页面上使用Thymeleaf标签,Thymeleaf 标签能够动态地替换掉静态内容,使页面动态展示。为了大家更直观的认识Thymeleaf,下面展示一个在HTML文件中嵌入了

2020-06-08 11:21:41 208

原创 支持的视图技术

4.1 支持的视图技术​ 前端模板引擎技术的出现,使前端开发人员无需关注后端业务的具体实现,只关注自己页面的呈现效果即可,并且解决了前端代码错综复杂的问题、实现了前后端分离开发。Spring Boot框架对很多常用的模板引擎技术(如:FreeMarker、Thymeleaf、Mustache等)提供了整合支持​Spring Boot不太支持常用的JSP模板,并且没有提供对应的整合配置,这是因为使用嵌入式Servlet容器的Spring Boot应用程序对于JSP模板存在一些限制 :rin

2020-06-08 11:12:48 98

原创 Spring Boot整合Redis

Spring Boot整合Redis​除了对关系型数据库的整合支持外,Spring Boot对非关系型数据库也提供了非常好的支持。Spring Boot与非关系型数据库Redis的整合使用(1)添加Spring Data Redis依赖启动器。先在项目的pom.xml文件中添加Spring Data Redis依赖启动器,示例代码如下<dependency> <groupId>org.springframework.boot</groupId>

2020-06-05 15:01:31 224

原创 Spring Boot整合MyBatis

3.1 Spring Boot整合MyBatis​因为Spring Boot框架开发的便利性,所以实现Spring Boot与数据访问层框架(例如MyBatis)的整合非常简单,主要是引入对应的依赖启动器,并进行数据库相关参数设置即可基础环境搭建:1.数据准备​在MySQL中,先创建了一个数据库springbootdata,然后创建了两个表t_article和t_comment并向表中插入数据。其中评论表t_comment的a_id与文章表t_article的主键id相关联 #

2020-06-05 14:59:56 307

原创 执行原理

2.4 执行原理每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法,在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。问题:那么SpringApplication.run()方法到底是如何做到启动Spring Boot项目的呢?下面我们查看run()方法内部的源码,核心代码具体如下:@SpringBootApplicationpublic class SpringbootDemoApplic

2020-06-05 14:56:55 245

原创 自定义Stater

2.3 自定义StaterSpringBoot starter机制​ SpringBoot由众多Starter组成(一系列的自动化配置的starter插件),SpringBoot之所以流行,也是因为starter。starter是SpringBoot非常重要的一部分,可以理解为一个可拔插式的插件,正是这些starter使得使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现需要的Bean,并织入相应的Bean

2020-06-05 14:53:53 534

原创 自动配置(启动流程)

2.2 自动配置(启动流程)概念:能够在我们添加jar包依赖的时候,自动为我们配置一些组件的相关配置,我们无需配置或者只需要少量配置就能运行编写的项目问题:Spring Boot到底是如何进行自动配置的,都把哪些组件进行了自动配置?Spring Boot应用的启动入口是@SpringBootApplication注解标注类中的main()方法, @SpringBootApplication能够扫描Spring组件并自动配置Spring Boot下面,查看@SpringBootAppl

2020-06-05 14:50:19 220

原创 SpringBoot原理深入及源码剖析

1.8 随机数设置及参数间引用在Spring Boot配置文件中设置属性时,除了可以像前面示例中显示的配置属性值外,还可以使用随机值和参数间引用对属性值进行设置。下面,针对配置文件中这两种属性值的设置方式进行讲解1.随机值设置在Spring Boot配置文件中,随机值设置使用到了Spring Boot内嵌的RandomValuePropertySource类,对一些隐秘属性值或者测试用例属性值进行随机值注入​随机值设置的语法格式为${random.xx},xx表示需要指定生成的随机数类型和范围,它

2020-06-05 14:37:52 155

原创 自定义配置

1.7 自定义配置spring Boot免除了项目中大部分的手动配置,对于一些特定情况,我们可以通过修改全局配置文件以适应具体生产环境,可以说,几乎所有的配置都可以写在application.peroperties文件中,Spring Boot会自动加载全局配置文件从而免除我们手动加载的烦恼。但是,如果我们自定义配置文件,Spring Boot是无法识别这些配置文件的,此时就需要我们手动加载。接下来,将针对SpringBoot的自定义配置文件及其加载方式进行讲解1.7.1 使用@PropertySou

2020-06-05 14:33:29 277

原创 配置文件属性值的注入

1.6 配置文件属性值的注入使用Spring Boot全局配置文件设置属性时:如果配置属性是Spring Boot已有属性,例如服务端口server.port,那么Spring Boot内部会自动扫描并读取这些配置文件中的属性值并覆盖默认属性。如果配置的属性是用户自定义属性,例如刚刚自定义的Person实体类属性,还必须在程序中注入这些配置属性方可生效。Spring Boot支持多种注入配置文件属性的方式,下面来介绍如何使用注解@ConfigurationProperties和@Value注入属性

2020-06-05 14:30:34 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除