当前位置: 首页 > news >正文

超详细的springBoot学习笔记

Spring Boot

1.Spring Boot简介

Spring诞生时是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的

轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级

Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。

第一阶段:xml配置

在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的在开发的类和配置文件之间进行切换

第二阶段:注解配置

在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(例如@Component、@Service),大大减少了配置量。主要使用的方式是应用的基本配置(如数据库配置)用xml,业务配置用注解

第三阶段:java配置

Spring 3.0引入了基于Java的配置能力,这是一种类型安全的可重构配置方式,可以代替XML。我们目前刚好处于这个时代,Spring4.x和SpringBoot都推荐使用Java配置。

所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。除此之外,项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。

Spring Boot让这一切成为了过去。

Spring Boot简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数SpringBoot应用只需要很少的Spring配置。

我们可以使用SpringBoot创建java应用,并使用java–jar启动它,或者采用传统的war部署方式。

Spring Boot主要目标是:

l为所有Spring的开发提供一个从根本上更快的入门体验

l开箱即用,但通过自己设置参数,即可快速摆脱这种方式。

l提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等

l绝对没有代码生成,也无需XML配置。

2.Spring Boot入门

2.1.环境准备

数据库:MySQL

IDE:EclipseMars2

Spring-Boot:1.4.4

Maven:3.3.3(官方声明1.4.4版本需要Maven3.2+)

本地仓库:需要使用资料中的仓库

2.2.起步依赖

2.2.1.创建一个Maven工程

2.2.2.添加依赖

在pom.xml中添加依赖,效果如下

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.4.RELEASE</version>

</parent>

<groupId>cn.cnn.springboot</groupId>

<artifactId>cnn-springboot</artifactId>

<version>0.0.1-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

</dependencies>

我们会惊奇地发现,我们的工程自动添加了好多好多jar包,而这些jar包正式我们做开发时需要导入的jar包。

因为这些jar包被我们刚才加入的spring-boot-starter-web所引用了,所以添加spring-boot-starter-web后会自动把依赖传递过来。

2.3.变更JDK版本

我们发现默认情况下工程的JDK版本是1.6,但是通常使用的是1.7的版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TDg7wLzX-1661910389977)(index_files/wpsC389.tmp025ed3a0-35a4-4128-815f-d20b434178f2.jpg)]

修改JDK为1.7,需要在pom.xml中添加以下配置:

<properties>

<java.version>1.7</java.version>

</properties>

使用Maven更新工程后,就发现版本已经变成1.8了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APQwkS29-1661910389978)(index_files/wpsC38A.tmp53eec6ea-6b92-4f4f-92ad-31206021bb3f.jpg)]

注意:

虽然JDK1.6或者1.7都可以使用Spring-Boot,但Spring-Boot官方建议使用JDK1.8。要使用JDK1.8,首先必须要配置JDK1.8后,才可以使用上述方法设置。

2.4.引导类

需要创建一个引导类:

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public****classDemo {

publicstaticvoidmain(String[]args) {

SpringApplication.run(Demo.class,args);

}

}

这里多了一个@SpringBootApplication注解

@Configuration: 用于定义一个配置类

@EnableAutoConfiguration:Spring Boot会自动根据你jar包的依赖来自动配置

项目。

@ComponentScan: 告诉Spring哪个packages的用注解标识的类会被spring

自动扫描并且装入bean容器。

Banner

直接启动,控制台出现以下标识。

. ____ _ __ _ _

/\ / ___'_ __ _ _(_)_ __ __ _

( ( )___ | '_ | '_| | '_ / _` |

\/ ___)| |_)| | | | | || (_| | ) ) ) )

’ |____| .__|_| |_|_| |___, | / / / /

=|_|======|___/=/_/_/_/

:: Spring Boot :: (v1.4.4.RELEASE)

这个标识是Spring启动标识,如果不想要,可以设置取消

importorg.springframework.boot.Banner.Mode;

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public****classApplication {

publicstaticvoidmain(String[]args) {

// SpringApplication.run(Application.class, args);

SpringApplicationapplication=newSpringApplication(Application.class);

application.setBannerMode(Mode.OFF);

application.run(args);

}

}

参考附录二的banner设置,可以通过修改配置文件制定自己的标识。

2.5.入门程序

需求:使用SpringMVC实现HelloWorld输出

2.5.1.原来的实现

我们现在开始使用spring MVC框架,实现json数据的输出。如果按照我们原来的做法,需要在web.xml中添加一个DispatcherServlet的配置,还需要添加一个spring的配置文件,配置文件如下配置

spring加入配置

context:component-scanbase-package\=_“cn.cnn.springboot.controller”_/

mvc:annotation-driven/

web.xml加入配置

<servlet>

<servlet-name>cnn-springboot</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring/*.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>cnn-springboot</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

还要编写Controller。。。

2.5.2.Spring-Boot的实现

我们不需要配置文件,直接编写Controller类即可

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

@RestController

public****classHelloWorldController {

@RequestMapping(“info”)

publicStringinfo() {

return"Hello world!";

}

}

@RestController注解:其实就是@Controller和@ResponseBody注解加在一起

启动方式一:启动之前编写的引导类即可

启动方式二:使用Maven命令spring-boot:run执行即可

选择Maven Build

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F1vfsNtE-1661910389979)(index_files/wpsC38B.tmpf4bf0cad-f07d-49d0-ab12-7ce2b1192423.jpg)]

在浏览器地址栏输入http://localhost:8080/info即可看到运行结果

2.6.热部署

我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间。

能不能在我修改代码后不重启就能生效呢?可以,由于Spring Boot应用只是普通的Java应用,所以JVM热交换(hot-swapping)也能开箱即用。不过JVM热交换能替换的字节码有限制,想要更彻底的解决方案可以使用Spring Loaded项目或JRebel。spring-boot-devtools模块也支持应用快速重启(restart)。

我们只需要在pom.xml加入如下配置即可

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

</dependency>

3.SpringBoot整合

3.1.整合SpringData JPA

3.1.1.需求

使用Spring Boot + Spring MVC + Spring Data JPA + EasyUI框架组合实现部门列表查询,效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FDMjSiCv-1661910389979)(index_files/wpsC38C.tmp428b936c-4ba6-47f6-bf23-2223242eec4d.jpg)]

3.1.2.环境准备

3.1.2.1.导入数据库表

在MySQL数据库执行以下语句

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`user_name` varchar(100) DEFAULT NULL COMMENT ‘用户名’,

`password` varchar(100) DEFAULT NULL COMMENT ‘密码’,

`name` varchar(100) DEFAULT NULL COMMENT ‘姓名’,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES (‘1’, ‘zhangsan’, ‘123456’, ‘张三’);

INSERT INTO `user` VALUES (‘2’, ‘lisi’, ‘123456’, ‘李四’);

INSERT INTO `user` VALUES (‘3’, ‘wangwu’, ‘123456’, ‘王五’);

INSERT INTO `user` VALUES (‘4’, ‘zhangwei’, ‘123456’, ‘张伟’);

INSERT INTO `user` VALUES (‘5’, ‘lina’, ‘123456’, ‘李娜’);

INSERT INTO `user` VALUES (‘6’, ‘lilei’, ‘123456’, ‘李磊’);

3.1.2.2.创建Maven工程

cnn-info(打jar包),在pom.xml中进行如下配置

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.4.RELEASE</version>

</parent>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<version>1.4.4.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<version>1.4.4.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

<version>1.4.4.RELEASE</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.6</version>

</dependency>

</dependencies>

3.1.2.3.加入Spring-Boot配置文件

在src/main/resources下添加application.properties配置文件,内容如下:

#DB Configuration:

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/taotao

spring.datasource.username=root

spring.datasource.password=root

#JPA Configuration:

spring.jpa.database=MySQL

spring.jpa.show-sql=true

spring.jpa.generate-ddl=true

spring.jpa.hibernate.ddl-auto=update

spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy

此文件用于覆盖SpringBoot的默认配置,完整的配置信息参考“附录2”

3.1.3.后端实现

3.1.3.1.创建实体类

importjavax.persistence.Entity;

importjavax.persistence.Id;

@Entity

public****classUser {

@Id

privateLongid;

privateStringuserName;

privateStringpassword;

privateStringname;

//添加get和set方法

}

3.1.3.2.创建DAO接口

importorg.springframework.data.jpa.repository.JpaRepository;

importcn.cnn.info.pojo.User;

public****interfaceUserDaoextendsJpaRepository<User, Long> {

}

3.1.3.3.创建业务逻辑接口

importjava.util.List;

importcn.cnn.info.pojo.User;

public****interfaceUserService {

List findAll();

}

3.1.3.4.创建业务逻辑实现类

importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Service;

importcn.cnn.info.dao.UserDao;

importcn.cnn.info.pojo.User;

importcn.cnn.info.service.UserService;

@Service

public****classUserServiceImplimplementsUserService {

@Autowired

privateUserDaouserDao;

@Override

publicList findAll() {

Listlist=this.userDao.findAll();

returnlist;

}

}

3.1.3.5.创建Controller

importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

importcn.cnn.info.pojo.User;

importcn.cnn.info.service.UserService;

@RestController

@RequestMapping(“user”)

public****classUserControlelr {

@Autowired

privateUserServiceuserService;

@RequestMapping(“list”)

publicList queryUserAll() {

Listlist=this.userService.findAll();

returnlist;

}

}

3.1.3.6.创建引导类

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public****classApplication {

publicstaticvoidmain(String[]args) {

SpringApplication.run(Application.class,args);

}

}

运行引导类Application,打开浏览器输入http://127.0.0.1:8080/user/list

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2cgM1IFC-1661910389980)(index_files/wpsC39D.tmp07e28cd0-a480-4468-9004-450e302e9f7b.jpg)]

3.1.4.前端实现

把资料中的static文件夹,拷贝到src/main/resources路径下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5MdWpODK-1661910389980)(index_files/wpsC39E.tmp961d88d6-d40d-4433-94e3-fea81571a2e9.jpg)]

浏览器地址栏输入:http://127.0.0.1:8080/user.html,效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sOHXgDmr-1661910389981)(index_files/wpsC39F.tmp3cbb0d83-13f8-43d4-9e43-6f24dfdcc0f9.jpg)]

运行引导类Application

3.2.整合MyBatis

3.2.1.简单整合

3.2.1.1.加入依赖

在pom.xml中加入以下依赖

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.1.1</version>

</dependency>

3.2.1.2.编写Mapper

和之前的方式一样,只是多了两个注解

@Mapper:声明Mapper接口

@Select:声明这个接口所需要使用的sql,当然,有查询的注解,肯定就有增删改的注解。

importjava.util.List;

importorg.apache.ibatis.annotations.Mapper;

importorg.apache.ibatis.annotations.Select;

importcn.cnn.info.pojo.User;

@Mapper

public****interfaceUserMapper {

@Select(“select * from user where name like ‘%${value}%’”)

publicList queryUserByName(Stringname);

}

3.2.1.3.编写Service和Controller

添加Service调用Mapper

@Service

public****classUserServiceImplimplementsUserService {

@Autowired

privateUserDaouserDao;

@Autowired

privateUserMapperuserMapper;

@Override

publicList findAll() {

Listlist=this.userDao.findAll();

returnlist;

}

@Override

publicList queryUserByName(Stringname) {

Listlist=this.userMapper.queryUserByName(name);

returnlist;

}

}

修改Controller

@RestController

@RequestMapping(“user”)

public****classUserControlelr {

@Autowired

privateUserServiceuserService;

@RequestMapping(“list”)

publicList queryUserAll() {

Listlist=this.userService.findAll();

returnlist;

}

@RequestMapping(“list/{name}”)

publicList queryUserAll(@PathVariableStringname) {

Listlist=this.userService.queryUserByName(name);

returnlist;

}

}

3.2.1.4.测试

浏览器地址栏输入:http://127.0.0.1:8080/user/list/张

显示效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XV9QtyOF-1661910389981)(index_files/wpsC3A0.tmpf5bd049a-8fc4-45fb-b243-7d11439a3e06.jpg)]

3.2.2.整合通用Mapper和分页助手

以上所有的配置都是使用的默认配置,我们只需要专注java代码的开发即可,不需要加入配置文件了。

但并不是所有得场景都是简单的业务,有时候业务复杂,需要我们加入自定义的配置文件;有时候需要载入例如分页助手这样的插件,辅助开发,所以我们也需要了解如何加载这些配置。

3.2.2.1.加入依赖

我们需要加入通用Mapper和分页插件,所以需要在pom.xml加入以下依赖

<dependency>

com.github.abel533

mapper

2.3.4

</dependency>

<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper</artifactId>

<version>3.7.5</version>

</dependency>

<dependency>

<groupId>com.github.jsqlparser</groupId>

<artifactId>jsqlparser</artifactId>

<version>0.9.1</version>

</dependency>

3.2.2.2.修改配置文件

在application.properties添加配置

#spring集成Mybatis环境

#pojo别名扫描包

mybatis.type-aliases-package=cn.cnn.info.pojo

#加载Mybatis核心配置文件

mybatis.mapper-locations=classpath:mapper/*Mapper.xml

mybatis.config-location=classpath:mybatis/SqlMapConfig.xml

#配置连接池,还需要在pom.xml中加入该连接池的依赖

#spring.datasource.type=com.jolbox.bonecp.BoneCPDataSource

在srcmain esourcesmapper路径下加入UserMapper.xml配置文件

<xmlversion="1.0"encoding=“UTF-8”>

<mappernamespace=“cn.cnn.info.dao.UserMapper”>

<selectid="queryAll"resultType=“user”>

select * from user

</select>

</mapper>

在srcmain esourcesmybatis加入SqlMapConfig.xml配置文件,用以加载通用Mapper和分页助手

<xmlversion="1.0"encoding=“UTF-8”>

<configuration>

<plugins>

<plugininterceptor=“com.github.pagehelper.PageHelper”>

<propertyname="dialect"value=“mysql”/>

<propertyname="rowBoundsWithCount"value=“true”/>

</plugin>

<plugininterceptor=“com.github.abel533.mapperhelper.MapperInterceptor”>

<propertyname="IDENTITY"value=“MYSQL”/>

<propertyname="mappers"value=“com.github.abel533.mapper.Mapper”/>

</plugin>

</plugins>

</configuration>

3.2.2.3.编写Mapper

importjava.util.List;

importorg.apache.ibatis.annotations.Mapper;

importorg.apache.ibatis.annotations.Select;

importcn.cnn.info.pojo.User;

//extends com.github.abel533.mapper.Mapper:需要继承通用Mapper

@Mapper

public****interfaceUserMapperextendscom.github.abel533.mapper.Mapper {

@Select(“select * from user where name like ‘%${value}%’”)

publicList queryUserByName(Stringname);

//使用UserMapper.xml配置文件

publicList queryAll();

}

3.2.2.4.编写Service和Controller

Service编写

importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Service;

importcom.github.pagehelper.PageHelper;

importcn.cnn.info.dao.UserDao;

importcn.cnn.info.dao.UserMapper;

importcn.cnn.info.pojo.User;

importcn.cnn.info.service.UserService;

@Service

public****classUserServiceImplimplementsUserService {

@Autowired

privateUserDaouserDao;

@Autowired

privateUserMapperuserMapper;

@Override

publicList findAll() {

Listlist=this.userDao.findAll();

returnlist;

}

@Override

publicList queryUserByName(Stringname) {

Listlist=this.userMapper.queryUserByName(name);

returnlist;

}

//调用使用UserMapper.xml的Mapper

@Override

publicList queryAll() {

Listlist=this.userMapper.queryAll();

returnlist;

}

//使用通用Mapper和分页助手

@Override

publicList queryUserByPage(Integerpage, Integerrows) {

//设置分页

PageHelper.startPage(page,rows);

//使用通用Mapper的方法进行查询所有数据

Listlist=this.userMapper.select(null);

returnlist;

}

}

Controller编写

importjava.util.List;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.web.bind.annotation.PathVariable;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

importcn.cnn.info.pojo.User;

importcn.cnn.info.service.UserService;

@RestController

@RequestMapping(“user”)

public****classUserControlelr {

@Autowired

privateUserServiceuserService;

@RequestMapping(“list”)

publicList queryUserAll() {

Listlist=this.userService.findAll();

returnlist;

}

@RequestMapping(“list/{name}”)

publicList queryUserAll(@PathVariableStringname) {

Listlist=this.userService.queryUserByName(name);

returnlist;

}

@RequestMapping(“list/query”)

publicList queryUserAll2() {

Listlist=this.userService.queryAll();

returnlist;

}

@RequestMapping(“list/{page}/{rows}”)

publicList queryUserAll(@PathVariableIntegerpage,@PathVariableIntegerrows) {

Listlist=this.userService.queryUserByPage(page,rows);

returnlist;

}

}

3.2.2.5.测试

测试使用UserMapper.xml

浏览器地址栏输入:http://127.0.0.1:8080/user/list/query

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xB2xPM78-1661910389982)(index_files/wpsC3B1.tmpee9062c3-a364-44c7-9bd0-b96e50b0ca18.jpg)]

测试使用通用Mapper和分页助手

浏览器地址栏输入:http://127.0.0.1:8080/user/list/2/2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ds4nNelu-1661910389982)(index_files/wpsC3B2.tmpf019a7ee-46fa-4a5f-94b6-b112996797d8.jpg)]

3.3.整合Redis

3.3.1.注解方式实现添加缓存

需求:基于上例代码,将列表数据缓存到Redis

3.3.1.1.加入依赖

在pom.xml加入依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-redis</artifactId>

</dependency>

3.3.1.2.修改引导类

修改开启缓存,添加注解@EnableCaching

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

importorg.springframework.cache.annotation.EnableCaching;

@SpringBootApplication

@EnableCaching

public****classApplication {

publicstaticvoidmain(String[]args) {

SpringApplication.run(Application.class,args);

}

}

3.3.1.3.设置实现序列化接口

需要修改实体,让实体实现序列化接口

@Entity

public****classUserimplementsSerializable {

@Id

privateLongid;

privateStringuserName;

privateStringpassword;

privateStringname;

。。。。。。

}

3.3.1.4.实现添加/删除缓存

修改UserServiceImpl,添加@Cacheable注解实现缓存添加

@Override

@Cacheable(value =“userCache”, key =“‘user.findAll’”)

publicList findAll() {

System.out.println(“从Mysql中查询”);

Listlist=this.userDao.findAll();

returnlist;

}

@Override

@CacheEvict(value =“userCache”, key =“‘user.findAll’”)

publicList queryUserByName(Stringname) {

System.out.println(“缓存清理了!”);

Listlist=this.userMapper.queryUserByName(name);

returnlist;

}

这样设置完成后,执行findAll()方法就会使用缓存,如果缓存没有就添加缓存,而queryUserByName(String name)方法则是删除缓存

@Cacheable:添加/使用缓存

@CacheEvict:删除缓存

参数value是缓存的名字,在执行的时候,会找叫这个名字的缓存使用/删除

参数key默认情况下是空串””,是Spring的一种表达式语言SpEL,我们这里可以随意指定,但是需要注意一定要加单引号

3.3.2.redis的深入使用

3.3.2.1.直接操作redis

redis除了作为缓存使用,还有很多其他的作用,例如利用redis的单线程获取唯一数,例如使用redis为单点登录系统存储用户登录信息等,我们就需要直接操作redis。

官网提供了三种接口RedisConnectionFactory, StringRedisTemplate和RedisTemplate,我们可以直接注入或者自己实现其他的实现类,来直接操作redis。我们这里使用RedisTemplate来操作Redis。

如下所示,我们只需要直接注入RedisTemplate即可使用以下方法操作redis的五种不同的数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x0gSdGoE-1661910389982)(index_files/wpsC3B3.tmp8265082c-5ebc-431c-9061-ca7528dea758.jpg)]

测试:

@Autowired

privateRedisTemplate<String, String>redisTemplate;

@Override

@CacheEvict(value =“userCache”, key =“‘user.findAll’”)

publicList queryUserByName(Stringname) {

//保存数据

this.redisTemplate.boundValueOps(“redis”).set(“Hello redis !”);

//设置有效时间为100秒

this.redisTemplate.boundValueOps(“redis”).expire(100l, TimeUnit.SECONDS);

//给value每次执行加一操作

this.redisTemplate.boundValueOps(“count”).increment(1l);

System.out.println(“缓存清理了!”);

Listlist=this.userMapper.queryUserByName(name);

returnlist;

}

3.3.2.2.设置redis连接属性

redis单机版

redis启动器默认情况下会找本地的redis服务,端口号默认是6379如果需要访问其他服务器的redis,则需要在application.properties中进行如下配置:

#Redis

spring.redis.host=192.168.37.161

spring.redis.port=6379

这表示会去找ip为192.168.37.161和端口为6379的服务

redis集群版

#Redis

#spring.redis.host=192.168.37.161

#spring.redis.port=6379

#Redis Cluster

spring.redis.cluster.nodes=192.168.37.161:7001,192.168.37.161:7002,192.168.37.161:7003,192.168.37.161:7004,192.168.37.161:7005,192.168.37.161:7006

切换到集群版只需要做以上配置,配置集群版节点信息,注释掉单机版信息

3.4.整合ActiveMQ

3.4.1.加入依赖

在pom.xml中加入以下配置

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-activemq</artifactId>

</dependency>

3.4.2.创建队列

在引导类中添加以下方法,设置队列

@SpringBootApplication

@EnableCaching

public****classApplication {

publicstaticvoidmain(String[]args) {

SpringApplication.run(Application.class,args);

}

@Bean

publicQueue queue() {

return****newActiveMQQueue(“cnn.queue”);

}

}

3.4.3.发送消息

编写Controller,发送消息

importjavax.jms.Destination;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.jms.core.JmsTemplate;

importorg.springframework.web.bind.annotation.PathVariable;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

@RestController

@RequestMapping(“queue”)

public****classQueueController {

//注入发送消息的对象

@Autowired

privateJmsTemplatejmsTemplate;

//注入消息队列

@Autowired

privateDestinationdestination;

//编写发送消息的方法

@RequestMapping(“send/{message}”)

publicString send(@PathVariableStringmessage) {

this.jmsTemplate.convertAndSend(destination,message);

return"消息发送成功!消息内容:"+message;

}

}

3.4.4.接收消息

编写bean,加入@Component注解让spring管理这个bean,作为接收消息的消费者

importorg.springframework.jms.annotation.JmsListener;

importorg.springframework.stereotype.Component;

@Component

public****classConsumer {

//接受消息方法

@JmsListener(destination =“cnn.queue”)

public****voidreadMessage(Stringtext) {

System.out.println(“接受到的消息是:”+text);

}

}

测试:

启动服务后,在浏览器执行http://127.0.0.1:8080/queue/send/发消息了11

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9o7kJdyH-1661910389983)(index_files/wpsC3C3.tmp1c22694f-67c3-4149-80ed-af517947da0c.jpg)]

即可看到消息发送成功

同时可以在控制台看到打印信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cyQv1Iqn-1661910389983)(index_files/wpsC3C4.tmp3608cd10-b861-42c3-af43-80c2aaac1e47.jpg)]

我们没有安装ActiveMQ,为什么可以使用?因为Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以实现消息的发送和接收。

3.4.5.使用外部服务

首先确认有一台外部ActiveMQ服务可以使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZhHWbau-1661910389984)(index_files/wpsC3C5.tmp0f9f9884-adff-4108-95ae-dacd56bd8724.jpg)]

在application.properties中加入以下配置

#ActiveMQ

spring.activemq.broker-url=tcp://192.168.37.161:61616

这样就加入了ActiveMQ服务的地址

3.5.整合junit

3.5.1.加入依赖

在pom.xml中加入测试依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

3.5.2.编写测试类

importjavax.jms.Destination;

importorg.junit.Test;

importorg.junit.runner.RunWith;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.boot.test.context.SpringBootTest;

importorg.springframework.jms.core.JmsTemplate;

importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner;

importcn.cnn.info.Application;

@RunWith(SpringJUnit4ClassRunner.class)

@SpringBootTest(classes = Application.class)

public****classMessageTest {

@Autowired

privateDestinationdestination;

@Autowired

privateJmsTemplatejmsTemplate;

@Test

public****voidtest() {

System.out.println(“我发消息了!”);

this.jmsTemplate.convertAndSend(destination,“Hello ActiveMQ!”);

}

}

SpringRunner与SpringJUnit4ClassRunner是继承关系,但是没有不同的地方,只是看起来子类SpringRunner要短一些而已。

@SpringBootTest注解的class属性要指定引导类的class

3.6.整合dubbox

3.6.1.环境准备

3.6.1.1.dubbox

dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架。官网首页:http://dubbo.io/

淘宝将这个项目开源出来以后,得到了不少同行的支持,包括:

当当网的扩展版本dubbox:https://github.com/dangdangdotcom/dubbox

京东的扩展版本jd-hydra: http://www.oschina.NET/p/jd-hydra

不过,略有遗憾的是,dubbo由于某些原因导致dubbo团队已经解散,已经很牛没有更新了,反到是当当网的扩展版本仍在持续发展。因为dubbox支持更新的spring版本,所以我们使用dubbox。

Dubbox在maven中央仓库并没有对应的依赖,所以我们需要自己动手将其发布到我们的本地仓库来使用。

使用git从码云上把dubbox的代码clone下来,

地址:https://git.oschina.net/wuyu15255872976/dubbox.git

执行Maven命令把工程安装到本地仓库

命令:clean install -Dmaven.test.skip

课程资料提供的仓库已经安装好了,可以直接使用

3.6.1.2.spring-boot-starter-dubbo

我们以前在使用dubbo的时候都是用的xml配置。而在整合Spring Boot的时候可以使用@ImportResource注解来引入的dubbo的xml配置。

但是Spring Boot本身并不推荐xml配置。怎么解决这个矛盾,我们可以自己准备一个Spring Boot Starter dubbo的项目来引导Spring Boot对Dubbo的自动化配置。已经有人开发好了这个自动化配置项目,我们直接使用就行了

使用git从码云上把spring-boot-starter-dubbo的代码clone下来,

地址:https://git.oschina.net/wuyu15255872976/spring-boot-starter-dubbo.git

执行Maven命令把工程安装到本地仓库

命令:clean install -Dmaven.test.skip

为了统一管理,把pom.xml修改为如下:

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.4.RELEASE</version>

</parent>

<artifactId>spring-boot-starter-dubbo</artifactId>

<version>1.4.4.RELEASE</version>

<name>Spring Boot Dubbo Rpc</name>

<description>Spring Boot Dubbo Rpc</description>

<url>http://projects.spring.io/spring-boot/</url>

<organization>

<name>Pivotal Software, Inc.</name>

<url>http://www.spring.io</url>

</organization>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<java.version>1.7</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-actuator</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-configuration-processor</artifactId>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>dubbo</artifactId>

<version>2.8.5-SNAPSHOT</version>

<exclusions>

<exclusion>

<artifactId>spring</artifactId>

<groupId>org.springframework</groupId>

</exclusion>

</exclusions>

</dependency>

<dependency>

<groupId>com.github.sgroschupf</groupId>

<artifactId>zkclient</artifactId>

<version>0.1</version>

</dependency>

</dependencies>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-dependencies</artifactId>

<version>1.4.4.RELEASE</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

<build>

<plugins>

<plugin>

<artifactId>maven-source-plugin</artifactId>

<configuration>

<attach>true</attach>

</configuration>

<executions>

<execution>

<phase>compile</phase>

<goals>

<goal>jar</goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

</build>

</project>

课程资料提供的仓库已经安装好了,可以直接使用

3.6.1.3.zookeeper注册中心

我们使用zookeeper作为dubbo的注册中心。

这里使用的zookeeper注册中心地址是:192.168.37.161:2181

修改hosts,配置注册中心的域名是zookeeper.taotao.com

3.6.2.搭建项目

taotao-parent作为所有工程的父工程

taotao-interface作为提供pojo和抽取服务接口的

taotao-provider作为服务提供者

taotao-consumer作为服务消费者

3.6.2.1.搭建taotao-parent

创建taotao-parent,并打pom包,这里配置公共使用的依赖。

修改pom.xml为如下

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.4.RELEASE</version>

</parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-parent</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>pom</packaging>

<properties>

<java.version>1.7</java.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<optional>true</optional>

</dependency>

<dependency>

org.springframework.boot

spring-boot-starter-dubbo

1.4.4.RELEASE

<optional>true</optional>

</dependency>

</dependencies>

</project>

3.6.2.2.搭建taotao-interface

创建taotao-interface,并打jar包。

修改pom.xml为如下,几乎不用配置

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-parent</artifactId>

<version>0.0.1-SNAPSHOT</version>

</parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-interface</artifactId>

<version>0.0.1-SNAPSHOT</version>

</project>

3.6.2.3.搭建taotao-provider

创建taotao-provider,并打jar包。

修改pom.xml为如下

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-parent</artifactId>

<version>0.0.1-SNAPSHOT</version>

</parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-provider</artifactId>

<version>0.0.1-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>com.taotao</groupId>

<artifactId>taotao-interface</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

<dependency>

<groupId>org.mybatis.spring.boot</groupId>

<artifactId>mybatis-spring-boot-starter</artifactId>

<version>1.1.1</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

</dependencies>

</project>

3.6.2.4.搭建taotao-consumer

创建taotao-consumer,并打jar包。

修改pom.xml为如下

<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-parent</artifactId>

<version>0.0.1-SNAPSHOT</version>

</parent>

<groupId>com.taotao</groupId>

<artifactId>taotao-consumer</artifactId>

<version>0.0.1-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>com.taotao</groupId>

<artifactId>taotao-interface</artifactId>

<version>0.0.1-SNAPSHOT</version>

</dependency>

</dependencies>

</project>

3.7.实现功能

3.7.1.实现taotao-interface

编写pojo

importjava.io.Serializable;

public****classUserimplementsSerializable {

privateLongid;

privateStringuserName;

privateStringpassword;

privateStringname;

get/set方法

}

编写Service接口

importcom.taotao.common.pojo.User;

public****interfaceUserService {

publicUser queryUserById(Longid);

}

3.7.2.实现taotao-provider

编写UserMapper

importorg.apache.ibatis.annotations.Mapper;

importorg.apache.ibatis.annotations.Select;

importcom.taotao.common.pojo.User;

@Mapper

public****interfaceUserMapper {

@Select(“select * from user where id=#{id}”)

publicUser queryUserById(Longid);

}

编写UserServiceImpl实现类

importorg.springframework.beans.factory.annotation.Autowired;

importcom.alibaba.dubbo.config.annotation.Service;

importcom.taotao.common.consumer.UserService;

importcom.taotao.common.pojo.User;

importcom.taotao.mapper.UserMapper;

@Service

public****classUserServiceImplimplementsUserService {

@Autowired

privateUserMapperuserMapper;

@Override

publicUser queryUserById(Longid) {

Useruser=this.userMapper.queryUserById(id);

returnuser;

}

}

编写引导类

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

importcom.alibaba.boot.dubbo.EnableDubboAutoConfiguration;

@SpringBootApplication

@EnableDubboAutoConfiguration

public****classProviderApplication {

publicstaticvoidmain(String[]args) {

SpringApplication.run(ProviderApplication.class,args);

}

}

在src/main/resources加入配置文件application.properties

#DB Configuration:

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/taotao

spring.datasource.username=root

spring.datasource.password=root

#配置服务器访问端口号

server.port=8081

#配置dubbo信息

#配置服务名称

spring.dubbo.application.name=taotao-provider

#注册中心类型

spring.dubbo.registry.protocol=zookeeper

#注册中心连接方式

spring.dubbo.registry.address=manager.taotao.com:2181

#配置服务调用所使用的协议

spring.dubbo.protocol.name=dubbo

#配置服务端口号

spring.dubbo.protocol.port=20880

#配置服务访问地址

spring.dubbo.protocol.host=localhost

#配置dubbo扫描

spring.dubbo.scan=com.taotao.provider

3.7.3.实现taotao-consumer

编写Controller

importorg.springframework.web.bind.annotation.PathVariable;

importorg.springframework.web.bind.annotation.RequestMapping;

importorg.springframework.web.bind.annotation.RestController;

importcom.alibaba.dubbo.config.annotation.Reference;

importcom.taotao.common.consumer.UserService;

importcom.taotao.common.pojo.User;

@RestController

@RequestMapping(“user”)

public****classUserController {

@Reference

privateUserServiceuserService;

@RequestMapping(“{id}”)

publicUser queryUserById(@PathVariableLongid) {

Useruser=this.userService.queryUserById(id);

returnuser;

}

}

编写引导类

importorg.springframework.boot.SpringApplication;

importorg.springframework.boot.autoconfigure.SpringBootApplication;

importcom.alibaba.boot.dubbo.EnableDubboAutoConfiguration;

@SpringBootApplication

@EnableDubboAutoConfiguration

public****classConsumerApplication {

publicstaticvoidmain(String[]args) {

SpringApplication.run(ConsumerApplication.class,args);

}

}

在src/main/resources加入配置文件application.properties

#配置服务器访问端口号

server.port=8080

#配置dubbo信息

#配置服务名称

spring.dubbo.application.name=taotao-consumer

#注册中心类型

spring.dubbo.registry.protocol=zookeeper

#注册中心连接方式

spring.dubbo.registry.address=manager.taotao.com:2181

#配置服务调用所使用的协议

spring.dubbo.protocol.name=dubbo

#配置服务端口号

spring.dubbo.protocol.port=20880

#配置服务访问地址

spring.dubbo.protocol.host=localhost

#配置dubbo扫描

spring.dubbo.scan=com.taotao.consumer

4.Spring Boot深入学习

4.1.读取配置文件

4.1.1..读取核心配置文件

在工程的src/main/resources下修改核心配置文件

application.properties,添加内容如下

name=传智播客

url=http://www.cnn.cn

在Controller中添加:

@Resource

privateEnvironmentenv;

@RequestMapping(“list”)

publicList queryUserAll() {

System.out.println(env.getProperty(“name”));

System.out.println(env.getProperty(“url”));

Listlist=this.userService.findAll();

returnlist;

}

就可以直接把配置文件信息打印出来。

注意包名是:org.springframework.core.env.Environment

4.1.2.读取自定义文件

在工程的src/main/resources下构建自定义配置文件mail.properties,内容如下

mail.host=smtp.sina.com

mail.port=25

mail.username=cnn

mail.password=heima

编写JavaBean

importorg.springframework.boot.context.properties.ConfigurationProperties;

importorg.springframework.context.annotation.Configuration;

@Configuration

@ConfigurationProperties(locations=“classpath:mail.properties”, prefix =“mail”)

public****classMailProperties {

privateStringhost;

privateIntegerport;

privateStringusername;

privateStringpassword;

set/get

}

改造Controller

@Autowired

privateMailPropertiesmailProperties;

@RequestMapping(“/mailInfo”)

publicString mailInfo() {

returnmailProperties.getHost() +“
”+mailProperties.getPort() +“
”+mailProperties.getUsername()

+“
”+mailProperties.getPassword();

}

打印效果

4.2.打jar包

在工程的pom.xml中添加以下依赖

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

我们目前的工程采用的是jar的打包方式,所以我们在执行package命令后,

会产生一个jar包。

我们进入到这个目录用压缩软件打开此jar包,其中我们发现了一个叫lib的文件夹,打开lib文件夹发现此文件夹下全是工程依赖的jar包,甚至还有tomcat。这种包含有jar包的jar包,我们称之为fatJAR(胖jar包)

由于fatJAR本身就包括tomcat ,我们就不需要另外部署了,直接在命令行就可以把我们的应用启动起来,在命令行,进入到jar包所在的目录,我们可以通过以下java –jar命令来执行此jar包。

在控制台会出现启动信息,在浏览器访问程序

4.3.打war包

spring-boot默认提供内嵌的tomcat,所以打包直接生成jar包,用java

-jar命令就可以启动。但是,有时候我们更希望一个tomcat来管理多个项目,

这种情况下就需要项目是war格式的包而不是jar格式的包。

我们按照以下步骤完成对工程的改造

(1)修改pom.xml

将打包方式修改为war

war

添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<scope>provided</scope>

</dependency>

spring-boot-starter-tomcat是原来被传递过来的依赖,默认会打到包里,所

以我们再次引入此依赖,并指定依赖范围为provided,这样tomcat相关的jar

就不会打包到war里了.

(2)添加ServletInitializer

import org.springframework.boot.builder.SpringApplicationBuilder;

import

org.springframework.boot.context.web.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder

application) {

return application.sources(Application.class);

}

}

由于我们采用web3.0规范,是没有web.xml的,而此类的作用与web.xml

相同。

(3)运行package打包命令生成war包

生成后将war包放入tomcat,启动tomcat,测试完成的功能是否可以使用。

附录1. Spring-boot的启动器

(摘自Spring-boot 1.4.4官方文档)

1.Spring Boot application starters

spring-boot-starter-thymeleaf

使用Thymeleaf视图构建MVC Web应用程序

spring-boot-starter-ws

使用Spring Web服务。1.4不推荐使用,推荐使用spring-boot-starter-web-services

spring-boot-starter-data-couchbase

Starter for using Couchbase document-oriented database and Spring Data Couchbase

spring-boot-starter-artemis

使用Apache Artemis启动JMS消息传递

spring-boot-starter-web-services

使用Spring Web服务

spring-boot-starter-mail

支持使用Java Mail和Spring Framework发送电子邮件

spring-boot-starter-data-redis

使用Redis键值数据存储与Spring Data Redis和Jedis客户端

spring-boot-starter-web

启动器构建web,包括RESTful,使用Spring MVC的应用程序。使用Tomcat作为默认嵌入式容器

spring-boot-starter-data-gemfire

Starter for using GemFire distributed data store and Spring Data GemFire

spring-boot-starter-activemq

使用Apache ActiveMQ启动JMS消息传递

spring-boot-starter-data-elasticsearch

使用Elasticsearch搜索和分析引擎和Spring Data Elasticsearch

spring-boot-starter-integration

Starter for using Spring Integration

spring-boot-starter-test

Spring Boot应用程序用于测试包括JUnit,Hamcrest和Mockito

spring-boot-starter-hornetq

使用HornetQ启动JMS消息传递。1.4已弃用,推荐使用spring-boot-starter-artemis

spring-boot-starter-jdbc

使用JDBC与Tomcat JDBC连接池

spring-boot-starter-mobile

使用Spring Mobile构建Web应用程序的入门

spring-boot-starter-validation

使用Java Bean校验与Hibernate校验器

spring-boot-starter-hateoas

使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序的入门

spring-boot-starter-jersey

使用JAX-RS和Jersey构建RESTful Web应用程序的入门。spring-boot-starter-web的替代品

spring-boot-starter-data-neo4j

使用Neo4j图数据库和Spring Data Neo4j

spring-boot-starter-websocket

使用Spring Framework的WebSocket支持构建WebSocket应用程序

spring-boot-starter-aop

使用Spring AOP和AspectJ进行面向方面编程

spring-boot-starter-amqp

使用Spring AMQP和Rabbit MQ的入门

spring-boot-starter-data-cassandra

使用Cassandra分布式数据库和Spring Data Cassandra

spring-boot-starter-social-facebook

使用Spring Social Facebook

spring-boot-starter-jta-atomikos

使用Atomikos进行JTA事务

spring-boot-starter-security

使用Spring Security

spring-boot-starter-mustache

使用Mustache视图构建MVC Web应用程序

spring-boot-starter-data-jpa

使用Spring Data JPA与Hibernate

spring-boot-starter

核心启动器,包括自动配置支持,日志记录和YAML

spring-boot-starter-velocity

使用Velocity视图构建MVC Web应用程序。1.4已弃用

spring-boot-starter-groovy-templates

使用Groovy模板视图构建MVC Web应用程序

spring-boot-starter-freemarker

使用FreeMarker视图构建MVC Web应用程序

spring-boot-starter-batch

使用Spring Batch

spring-boot-starter-redis

使用Redis键值数据存储与Spring Data Redis和Jedis客户端的入门。1.4已弃用,建议使用spring-boot-starter-data-redis

spring-boot-starter-social-linkedin

Stater for using Spring Social LinkedIn

spring-boot-starter-cache

支持使用Spring Framework的缓存

spring-boot-starter-data-solr

使用带有Spring Data Solr的Apache Solr搜索平台

spring-boot-starter-data-mongodb

使用MongoDB和Spring Data MongoDB

spring-boot-starter-jooq

使用jOOQ访问SQL数据库。spring-boot-starter-data-jpa或spring-boot-starter-jdbc的替代方法

spring-boot-starter-jta-narayana

Spring Boot启动Narayana JTA

spring-boot-starter-cloud-connectors

启动者使用Spring Cloud连接器,简化了连接到云平台中的服务,如Cloud Foundry和Heroku

spring-boot-starter-jta-bitronix

使用Bitronix进行JTA事务

spring-boot-starter-social-twitter

使用Spring Social Twitter

spring-boot-starter-data-rest

使用Spring Data REST通过REST暴露Spring数据存储库

2.Spring Boot production starters

spring-boot-starter-actuator

使用Spring Boot的Actuator,提供生产就绪的功能,以帮助您监视和管理您的应用程序

spring-boot-starter-remote-shell

使用CRaSH远程shell通过SSH监视和管理您的应用程序

3.Spring Boot technical starters

spring-boot-starter-undertow

使用Undertow作为嵌入式servlet容器。spring-boot-starter-tomcat的替代方法

spring-boot-starter-jetty

使用Jetty作为嵌入式servlet容器的。spring-boot-starter-tomcat的替代方法

spring-boot-starter-logging

使用Logback进行日志记录。 默认日志启动器

spring-boot-starter-tomcat

使用Tomcat作为嵌入式servlet容器。spring-boot-starter-web使用的默认servlet容器

spring-boot-starter-log4j2

使用Log4j2进行日志记录。spring-boot-starter-logging的替代方法

附录2. Spring-boot的application.properties

(摘自Spring-boot 1.4.4官方文档)

# ===================================================================

# COMMON SPRING BOOT PROPERTIES

#

# This sample file is provided as a guideline. Do NOT copy it in its

# entirety to your own application. ^^^

# ===================================================================

# ----------------------------------------

# CORE PROPERTIES

# ----------------------------------------

# BANNER

banner.charset=UTF-8_# Banner file encoding._

banner.location=classpath:banner.txt_# Banner file location._

banner.image.location=classpath:banner.gif_# Banner image file location (jpg/png can also be used)._

banner.image.width=# Width of the banner image in chars (default 76)

banner.image.height=# Height of the banner image in chars (default based on image height)

banner.image.margin=# Left hand image margin in chars (default 2)

banner.image.invert=# If images should be inverted for dark terminal themes (default false)

# LOGGING

logging.config=# Location of the logging configuration file. For instance `classpath:logback.xml` for Logback

logging.exception-conversion-word=%wEx_# Conversion word used when logging exceptions._

logging.file=# Log file name. For instance `myapp.log`

logging.level.*=# Log levels severity mapping. For instance `logging.level.org.springframework=DEBUG`

logging.path=# Location of the log file. For instance `/var/log`

logging.pattern.console=# Appender pattern for output to the console. Only supported with the default logback setup.

logging.pattern.file=# Appender pattern for output to the file. Only supported with the default logback setup.

logging.pattern.level=# Appender pattern for log level (default %5p). Only supported with the default logback setup.

logging.register-shutdown-hook=false_# Register a shutdown hook for the logging system when it is initialized._

# AOP

spring.aop.auto=true_# Add @EnableAspectJAutoProxy._

spring.aop.proxy-target-class=false_# Whether subclass-based (CGLIB) proxies are to be created (true) as opposed to standard Java interface-based proxies (false)._

# IDENTITY (ContextIdApplicationContextInitializer)

spring.application.index=# Application index.

spring.application.name=# Application name.

# ADMIN (SpringApplicationAdminJmxAutoConfiguration)

spring.application.admin.enabled=false_# Enable admin features for the application._

spring.application.admin.jmx-name=org.springframework.boot:type=Admin,name=SpringApplication_# JMX name of the application admin MBean._

# AUTO-CONFIGURATION

spring.autoconfigure.exclude=# Auto-configuration classes to exclude.

# SPRING CORE

spring.beaninfo.ignore=true_# Skip search of BeanInfo classes._

# SPRING CACHE (CacheProperties)

spring.cache.cache-names=# Comma-separated list of cache names to create if supported by the underlying cache manager.

spring.cache.caffeine.spec=# The spec to use to create caches. Check CaffeineSpec for more details on the spec format.

spring.cache.couchbase.expiration=0_# Entry expiration in milliseconds. By default the entries never expire._

spring.cache.ehcache.config=# The location of the configuration file to use to initialize EhCache.

spring.cache.guava.spec=# The spec to use to create caches. Check CacheBuilderSpec for more details on the spec format.

spring.cache.hazelcast.config=# The location of the configuration file to use to initialize Hazelcast.

spring.cache.infinispan.config=# The location of the configuration file to use to initialize Infinispan.

spring.cache.jcache.config=# The location of the configuration file to use to initialize the cache manager.

spring.cache.jcache.provider=# Fully qualified name of the CachingProvider implementation to use to retrieve the JSR-107 compliant cache manager. Only needed if more than one JSR-107 implementation is available on the classpath.

spring.cache.type=# Cache type, auto-detected according to the environment by default.

# SPRING CONFIG - using environment property only (ConfigFileApplicationListener)

spring.config.location=# Config file locations.

spring.config.name=application_# Config file name._

# HAZELCAST (HazelcastProperties)

spring.hazelcast.config=# The location of the configuration file to use to initialize Hazelcast.

# PROJECT INFORMATION (ProjectInfoProperties)

spring.info.build.location=classpath:META-INF/build-info.properties_# Location of the generated build-info.properties file._

spring.info.git.location=classpath:git.properties_# Location of the generated git.properties file._

# JMX

spring.jmx.default-domain=# JMX domain name.

spring.jmx.enabled=true_# Expose management beans to the JMX domain._

spring.jmx.server=mbeanServer_# MBeanServer bean name._

# Email (MailProperties)

spring.mail.default-encoding=UTF-8_# Default MimeMessage encoding._

spring.mail.host=# SMTP server host. For instance `smtp.example.com`

spring.mail.jndi-name=# Session JNDI name. When set, takes precedence to others mail settings.

spring.mail.password=# Login password of the SMTP server.

spring.mail.port=# SMTP server port.

spring.mail.properties.*=# Additional JavaMail session properties.

spring.mail.protocol=smtp_# Protocol used by the SMTP server._

spring.mail.test-connection=false_# Test that the mail server is available on startup._

spring.mail.username=# Login user of the SMTP server.

# APPLICATION SETTINGS (SpringApplication)

spring.main.banner-mode=console_# Mode used to display the banner when the application runs._

spring.main.sources=# Sources (class name, package name or XML resource location) to include in the ApplicationContext.

spring.main.web-environment=# Run the application in a web environment (auto-detected by default).

# FILE ENCODING (FileEncodingApplicationListener)

spring.mandatory-file-encoding=# Expected character encoding the application must use.

# INTERNATIONALIZATION (MessageSourceAutoConfiguration)

spring.messages.always-use-message-format=false_# Set whether to always apply the MessageFormat rules, parsing even messages without arguments._

spring.messages.basename=messages_# Comma-separated list of basenames, each following the ResourceBundle convention._

spring.messages.cache-seconds=-1_# Loaded resource bundle files cache expiration, in seconds. When set to -1, bundles are cached forever._

spring.messages.encoding=UTF-8_# Message bundles encoding._

spring.messages.fallback-to-system-locale=true_# Set whether to fall back to the system Locale if no files for a specific Locale have been found._

# OUTPUT

spring.output.ansi.enabled=detect_# Configure the ANSI output._

# PID FILE (ApplicationPidFileWriter)

spring.pid.fail-on-write-error=# Fail if ApplicationPidFileWriter is used but it cannot write the PID file.

spring.pid.file=# Location of the PID file to write (if ApplicationPidFileWriter is used).

# PROFILES

spring.profiles.active=# Comma-separated list ofactive profiles.

spring.profiles.include=# Unconditionally activate the specified comma separated profiles.

# SENDGRID (SendGridAutoConfiguration)

spring.sendgrid.api-key=# SendGrid api key (alternative to username/password)

spring.sendgrid.username=# SendGrid account username

spring.sendgrid.password=# SendGrid account password

spring.sendgrid.proxy.host=# SendGrid proxy host

spring.sendgrid.proxy.port=# SendGrid proxy port

# ----------------------------------------

# WEB PROPERTIES

# ----------------------------------------

# EMBEDDED SERVER CONFIGURATION (ServerProperties)

server.address=# Network address to which the server should bind to.

server.compression.enabled=false_# If response compression is enabled._

server.compression.excluded-user-agents=# List of user-agents to exclude from compression.

server.compression.mime-types=# Comma-separated list of MIME types that should be compressed. For instance `text/html,text/css,application/json`

server.compression.min-response-size=# Minimum response size that is required for compression to be performed. For instance 2048

server.connection-timeout=# Time in milliseconds that connectors will wait for another HTTP request before closing the connection. When not set, the connector’s container-specific default will be used. Use a value of -1 to indicate no (i.e. infinite) timeout.

server.context-parameters.*=# Servlet context init parameters. For instance `server.context-parameters.a=alpha`

server.context-path=# Context path of the application.

server.display-name=application_# Display name of the application._

server.max-http-header-size=0_# Maximum size in bytes of the HTTP message header._

server.max-http-post-size=0_# Maximum size in bytes of the HTTP post content._

server.error.include-stacktrace=never_# When to include a “stacktrace” attribute._

server.error.path=/error_# Path of the error controller._

server.error.whitelabel.enabled=true_# Enable the default error page displayed in browsers in case of a server error._

server.jetty.acceptors=# Number of acceptor threads to use.

server.jetty.selectors=# Number of selector threads to use.

server.jsp-servlet.class-name=org.apache.jasper.servlet.JspServlet_# The class name of the JSP servlet._

server.jsp-servlet.init-parameters.*=# Init parameters used to configure the JSP servlet

server.jsp-servlet.registered=true_# Whether or not the JSP servlet is registered_

server.port=8080_# Server HTTP port._

server.server-header=# Value to use for the Server response header (no header is sent if empty)

server.servlet-path=/# Path of the main dispatcher servlet.

server.use-forward-headers=# If X-Forwarded-* headers should be applied to the HttpRequest.

server.session.cookie.comment=# Comment for the session cookie.

server.session.cookie.domain=# Domain for the session cookie.

server.session.cookie.http-only=# “HttpOnly” flag for the session cookie.

server.session.cookie.max-age=# Maximum age of the session cookie in seconds.

server.session.cookie.name=# Session cookie name.

server.session.cookie.path=# Path of the session cookie.

server.session.cookie.secure=# “Secure” flag for the session cookie.

server.session.persistent=false_# Persist session data between restarts._

server.session.store-dir=# Directory used to store session data.

server.session.timeout=# Session timeout in seconds.

server.session.tracking-modes=# Session tracking modes (one or more of the following: “cookie”, “url”, “ssl”).

server.ssl.ciphers=# Supported SSL ciphers.

server.ssl.client-auth=# Whether client authentication is wanted (“want”) or needed (“need”). Requires a trust store.

server.ssl.enabled=# Enable SSL support.

server.ssl.enabled-protocols=# Enabled SSL protocols.

server.ssl.key-alias=# Alias that identifies the key in the key store.

server.ssl.key-password=# Password used to access the key in the key store.

server.ssl.key-store=# Path to the key store that holds the SSL certificate (typically a jks file).

server.ssl.key-store-password=# Password used to access the key store.

server.ssl.key-store-provider=# Provider for the key store.

server.ssl.key-store-type=# Type of the key store.

server.ssl.protocol=TLS_# SSL protocol to use._

server.ssl.trust-store=# Trust store that holds SSL certificates.

server.ssl.trust-store-password=# Password used to access the trust store.

server.ssl.trust-store-provider=# Provider for the trust store.

server.ssl.trust-store-type=# Type of the trust store.

server.tomcat.accesslog.directory=logs_# Directory in which log files are created. Can be relative to the tomcat base dir or absolute._

server.tomcat.accesslog.enabled=false_# Enable access log._

server.tomcat.accesslog.pattern=common_# Format pattern for access logs._

server.tomcat.accesslog.prefix=access_log_# Log file name prefix._

server.tomcat.accesslog.rename-on-rotate=false_# Defer inclusion of the date stamp in the file name until rotate time._

server.tomcat.accesslog.request-attributes-enabled=false_# Set request attributes for IP address, Hostname, protocol and port used for the request._

server.tomcat.accesslog.suffix=.log_# Log file name suffix._

server.tomcat.background-processor-delay=30_# Delay in seconds between the invocation of backgroundProcess methods._

server.tomcat.basedir=# Tomcat base directory. If not specified a temporary directory will be used.

server.tomcat.internal-proxies=10\.\d{1,3}\.\d{1,3}\.\d{1,3}|\

192\.168\.\d{1,3}\.\d{1,3}|\

169\.254\.\d{1,3}\.\d{1,3}|\

127\.\d{1,3}\.\d{1,3}\.\d{1,3}|\

172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|\

172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|\

172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}# regular expression matching trusted IP addresses.

server.tomcat.max-threads=0_# Maximum amount of worker threads._

server.tomcat.min-spare-threads=0_# Minimum amount of worker threads._

server.tomcat.port-header=X-Forwarded-Port_# Name of the HTTP header used to override the original port value._

server.tomcat.protocol-header=# Header that holds the incoming protocol, usually named “X-Forwarded-Proto”.

server.tomcat.protocol-header-https-value=https_# Value of the protocol header that indicates that the incoming request uses SSL._

server.tomcat.redirect-context-root=# Whether requests to the context root should be redirected by appending a / to the path.

server.tomcat.remote-ip-header=# Name of the http header from which the remote ip is extracted. For instance `X-FORWARDED-FOR`

server.tomcat.uri-encoding=UTF-8_# Character encoding to use to decode the URI._

server.undertow.accesslog.dir=# Undertow access log directory.

server.undertow.accesslog.enabled=false_# Enable access log._

server.undertow.accesslog.pattern=common_# Format pattern for access logs._

server.undertow.accesslog.prefix=access_log.# Log file name prefix.

server.undertow.accesslog.suffix=log_# Log file name suffix._

server.undertow.buffer-size=# Size of each buffer in bytes.

server.undertow.buffers-per-region=# Number of buffer per region.

server.undertow.direct-buffers=# Allocate buffers outside the Java heap.

server.undertow.io-threads=# Number of I/O threads to create for the worker.

server.undertow.worker-threads=# Number of worker threads.

# FREEMARKER (FreeMarkerAutoConfiguration)

spring.freemarker.allow-request-override=false_# Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.freemarker.allow-session-override=false_# Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.freemarker.cache=false_# Enable template caching._

spring.freemarker.charset=UTF-8_# Template encoding._

spring.freemarker.check-template-location=true_# Check that the templates location exists._

spring.freemarker.content-type=text/html_# Content-Type value._

spring.freemarker.enabled=true_# Enable MVC view resolution for this technology._

spring.freemarker.expose-request-attributes=false_# Set whether all request attributes should be added to the model prior to merging with the template._

spring.freemarker.expose-session-attributes=false_# Set whether all HttpSession attributes should be added to the model prior to merging with the template._

spring.freemarker.expose-spring-macro-helpers=true_# Set whether to expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”._

spring.freemarker.prefer-file-system-access=true_# Prefer file system access for template loading. File system access enables hot detection of template changes._

spring.freemarker.prefix=# Prefix that gets prepended to view names when building a URL.

spring.freemarker.request-context-attribute=# Name of the RequestContext attribute for all views.

spring.freemarker.settings.*=# Well-known FreeMarker keys which will be passed to FreeMarker’s Configuration.

spring.freemarker.suffix=# Suffix that gets appended to view names when building a URL.

spring.freemarker.template-loader-path=classpath:/templates/# Comma-separated list of template paths.

spring.freemarker.view-names=# White list of view names that can be resolved.

# GROOVY TEMPLATES (GroovyTemplateAutoConfiguration)

spring.groovy.template.allow-request-override=false_# Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.groovy.template.allow-session-override=false_# Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.groovy.template.cache=# Enable template caching.

spring.groovy.template.charset=UTF-8_# Template encoding._

spring.groovy.template.check-template-location=true_# Check that the templates location exists._

spring.groovy.template.configuration.*=# See GroovyMarkupConfigurer

spring.groovy.template.content-type=test/html_# Content-Type value._

spring.groovy.template.enabled=true_# Enable MVC view resolution for this technology._

spring.groovy.template.expose-request-attributes=false_# Set whether all request attributes should be added to the model prior to merging with the template._

spring.groovy.template.expose-session-attributes=false_# Set whether all HttpSession attributes should be added to the model prior to merging with the template._

spring.groovy.template.expose-spring-macro-helpers=true_# Set whether to expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”._

spring.groovy.template.prefix=# Prefix that gets prepended to view names when building a URL.

spring.groovy.template.request-context-attribute=# Name of the RequestContext attribute for all views.

spring.groovy.template.resource-loader-path=classpath:/templates/# Template path.

spring.groovy.template.suffix=.tpl_# Suffix that gets appended to view names when building a URL._

spring.groovy.template.view-names=# White list of view names that can be resolved.

# SPRING HATEOAS (HateoasProperties)

spring.hateoas.use-hal-as-default-json-media-type=true_# Specify if application/hal+json responses should be sent to requests that accept application/json._

# HTTP message conversion

spring.http.converters.preferred-json-mapper=jackson_# Preferred JSON mapper to use for HTTP message conversion. Set to “gson” to force the use of Gson when both it and Jackson are on the classpath._

# HTTP encoding (HttpEncodingProperties)

spring.http.encoding.charset=UTF-8_# Charset of HTTP requests and responses. Added to the “Content-Type” header if not set explicitly._

spring.http.encoding.enabled=true_# Enable http encoding support._

spring.http.encoding.force=# Force the encoding to the configured charset on HTTP requests and responses.

spring.http.encoding.force-request=# Force the encoding to the configured charset on HTTP requests. Defaults to true when “force” has not been specified.

spring.http.encoding.force-response=# Force the encoding to the configured charset on HTTP responses.

spring.http.encoding.mapping=# Locale to Encoding mapping.

# MULTIPART (MultipartProperties)

spring.http.multipart.enabled=true_# Enable support of multi-part uploads._

spring.http.multipart.file-size-threshold=0_# Threshold after which files will be written to disk. Values can use the suffixed “MB” or “KB” to indicate a Megabyte or Kilobyte size._

spring.http.multipart.location=# Intermediate location of uploaded files.

spring.http.multipart.max-file-size=1Mb_# Max file size. Values can use the suffixed “MB” or “KB” to indicate a Megabyte or Kilobyte size._

spring.http.multipart.max-request-size=10Mb_# Max request size. Values can use the suffixed “MB” or “KB” to indicate a Megabyte or Kilobyte size._

spring.http.multipart.resolve-lazily=false_# Whether to resolve the multipart request lazily at the time of file or parameter access._

# JACKSON (JacksonProperties)

spring.jackson.date-format=# Date format string or a fully-qualified date format class name. For instance `yyyy-MM-dd HH:mm:ss`.

spring.jackson.default-property-inclusion=# Controls the inclusion of properties during serialization.

spring.jackson.deserialization.*=# Jackson on/off features that affect the way Java objects are deserialized.

spring.jackson.generator.*=# Jackson on/off features for generators.

spring.jackson.joda-date-time-format=# Joda date time format string. If not configured, “date-format” will be used as a fallback if it is configured with a format string.

spring.jackson.locale=# Locale used for formatting.

spring.jackson.mapper.*=# Jackson general purpose on/off features.

spring.jackson.parser.*=# Jackson on/off features for parsers.

spring.jackson.property-naming-strategy=# One of the constants on Jackson’s PropertyNamingStrategy. Can also be a fully-qualified class name of a PropertyNamingStrategy subclass.

spring.jackson.serialization.*=# Jackson on/off features that affect the way Java objects are serialized.

spring.jackson.serialization-inclusion=# Controls the inclusion of properties during serialization. Configured with one of the values in Jackson’s JsonInclude.Include enumeration.

spring.jackson.time-zone=# Time zone used when formatting dates. For instance `America/Los_Angeles`

# JERSEY (JerseyProperties)

spring.jersey.application-path=# Path that serves as the base URI for the application. Overrides the value of “@ApplicationPath” if specified.

spring.jersey.filter.order=0_# Jersey filter chain order._

spring.jersey.init.*=# Init parameters to pass to Jersey via the servlet or filter.

spring.jersey.servlet.load-on-startup=-1_# Load on startup priority of the Jersey servlet._

spring.jersey.type=servlet_# Jersey integration type._

# SPRING MOBILE DEVICE VIEWS (DeviceDelegatingViewResolverAutoConfiguration)

spring.mobile.devicedelegatingviewresolver.enable-fallback=false_# Enable support for fallback resolution._

spring.mobile.devicedelegatingviewresolver.enabled=false_# Enable device view resolver._

spring.mobile.devicedelegatingviewresolver.mobile-prefix=mobile/# Prefix that gets prepended to view names for mobile devices.

spring.mobile.devicedelegatingviewresolver.mobile-suffix=# Suffix that gets appended to view names for mobile devices.

spring.mobile.devicedelegatingviewresolver.normal-prefix=# Prefix that gets prepended to view names for normal devices.

spring.mobile.devicedelegatingviewresolver.normal-suffix=# Suffix that gets appended to view names for normal devices.

spring.mobile.devicedelegatingviewresolver.tablet-prefix=tablet/# Prefix that gets prepended to view names for tablet devices.

spring.mobile.devicedelegatingviewresolver.tablet-suffix=# Suffix that gets appended to view names for tablet devices.

# SPRING MOBILE SITE PREFERENCE (SitePreferenceAutoConfiguration)

spring.mobile.sitepreference.enabled=true_# Enable SitePreferenceHandler._

# MUSTACHE TEMPLATES (MustacheAutoConfiguration)

spring.mustache.allow-request-override=# Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.mustache.allow-session-override=# Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.

spring.mustache.cache=# Enable template caching.

spring.mustache.charset=# Template encoding.

spring.mustache.check-template-location=# Check that the templates location exists.

spring.mustache.content-type=# Content-Type value.

spring.mustache.enabled=# Enable MVC view resolution for this technology.

spring.mustache.expose-request-attributes=# Set whether all request attributes should be added to the model prior to merging with the template.

spring.mustache.expose-session-attributes=# Set whether all HttpSession attributes should be added to the model prior to merging with the template.

spring.mustache.expose-spring-macro-helpers=# Set whether to expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”.

spring.mustache.prefix=classpath:/templates/# Prefix to apply to template names.

spring.mustache.request-context-attribute=# Name of the RequestContext attribute for all views.

spring.mustache.suffix=.html_# Suffix to apply to template names._

spring.mustache.view-names=# White list of view names that can be resolved.

# SPRING MVC (WebMvcProperties)

spring.mvc.async.request-timeout=# Amount of time (in milliseconds) before asynchronous request handling times out.

spring.mvc.date-format=# Date format to use. For instance `dd/MM/yyyy`.

spring.mvc.dispatch-trace-request=false_# Dispatch TRACE requests to the FrameworkServlet doService method._

spring.mvc.dispatch-options-request=true_# Dispatch OPTIONS requests to the FrameworkServlet doService method._

spring.mvc.favicon.enabled=true_# Enable resolution of favicon.ico._

spring.mvc.formcontent.putfilter.enabled=true_# Enable Spring’s HttpPutFormContentFilter._

spring.mvc.ignore-default-model-on-redirect=true_# If the content of the “default” model should be ignored during redirect scenarios._

spring.mvc.locale=# Locale to use. By default, this locale is overridden by the “Accept-Language” header.

spring.mvc.locale-resolver=accept-header_# Define how the locale should be resolved._

spring.mvc.log-resolved-exception=false_# Enable warn logging of exceptions resolved by a “HandlerExceptionResolver”._

spring.mvc.media-types.*=# Maps file extensions to media types for content negotiation.

spring.mvc.message-codes-resolver-format=# Formatting strategy for message codes. For instance `PREFIX_ERROR_CODE`.

spring.mvc.servlet.load-on-startup=-1_# Load on startup priority of the Spring Web Services servlet._

spring.mvc.static-path-pattern=/**# Path pattern used for static resources.

spring.mvc.throw-exception-if-no-handler-found=false_# If a “NoHandlerFoundException” should be thrown if no Handler was found to process a request._

spring.mvc.view.prefix=# Spring MVC view prefix.

spring.mvc.view.suffix=# Spring MVC view suffix.

# SPRING RESOURCES HANDLING (ResourceProperties)

spring.resources.add-mappings=true_# Enable default resource handling._

spring.resources.cache-period=# Cache period for the resources served by the resource handler, in seconds.

spring.resources.chain.cache=true_# Enable caching in the Resource chain._

spring.resources.chain.enabled=# Enable the Spring Resource Handling chain. Disabled by default unless at least one strategy has been enabled.

spring.resources.chain.gzipped=false_# Enable resolution of already gzipped resources._

spring.resources.chain.html-application-cache=false_# Enable HTML5 application cache manifest rewriting._

spring.resources.chain.strategy.content.enabled=false_# Enable the content Version Strategy._

spring.resources.chain.strategy.content.paths=/**# Comma-separated list of patterns to apply to the Version Strategy.

spring.resources.chain.strategy.fixed.enabled=false_# Enable the fixed Version Strategy._

spring.resources.chain.strategy.fixed.paths=/**# Comma-separated list of patterns to apply to the Version Strategy.

spring.resources.chain.strategy.fixed.version=# Version string to use for the Version Strategy.

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/# Locations of static resources.

# SPRING SESSION (SessionProperties)

spring.session.hazelcast.map-name=spring:session:sessions_# Name of the map used to store sessions._

spring.session.jdbc.initializer.enabled=# Create the required session tables on startup if necessary. Enabled automatically if the default table name is set or a custom schema is configured.

spring.session.jdbc.schema=classpath:org/springframework/session/jdbc/schema-@@platform@@.sql_# Path to the SQL file to use to initialize the database schema._

spring.session.jdbc.table-name=SPRING_SESSION_# Name of database table used to store sessions._

spring.session.mongo.collection-name=sessions_# Collection name used to store sessions._

spring.session.redis.flush-mode=# Flush mode for the Redis sessions.

spring.session.redis.namespace=# Namespace for keys used to store sessions.

spring.session.store-type=# Session store type.

# SPRING SOCIAL (SocialWebAutoConfiguration)

spring.social.auto-connection-views=false_# Enable the connection status view for supported providers._

# SPRING SOCIAL FACEBOOK (FacebookAutoConfiguration)

spring.social.facebook.app-id=# your application’s Facebook App ID

spring.social.facebook.app-secret=# your application’s Facebook App Secret

# SPRING SOCIAL LINKEDIN (LinkedInAutoConfiguration)

spring.social.linkedin.app-id=# your application’s LinkedIn App ID

spring.social.linkedin.app-secret=# your application’s LinkedIn App Secret

# SPRING SOCIAL TWITTER (TwitterAutoConfiguration)

spring.social.twitter.app-id=# your application’s Twitter App ID

spring.social.twitter.app-secret=# your application’s Twitter App Secret

# THYMELEAF (ThymeleafAutoConfiguration)

spring.thymeleaf.cache=true_# Enable template caching._

spring.thymeleaf.check-template=true_# Check that the template exists before rendering it._

spring.thymeleaf.check-template-location=true_# Check that the templates location exists._

spring.thymeleaf.content-type=text/html_# Content-Type value._

spring.thymeleaf.enabled=true_# Enable MVC Thymeleaf view resolution._

spring.thymeleaf.encoding=UTF-8_# Template encoding._

spring.thymeleaf.excluded-view-names=# Comma-separated list of view names that should be excluded from resolution.

spring.thymeleaf.mode=HTML5_# Template mode to be applied to templates. See also StandardTemplateModeHandlers._

spring.thymeleaf.prefix=classpath:/templates/# Prefix that gets prepended to view names when building a URL.

spring.thymeleaf.suffix=.html_# Suffix that gets appended to view names when building a URL._

spring.thymeleaf.template-resolver-order=# Order of the template resolver in the chain.

spring.thymeleaf.view-names=# Comma-separated list of view names that can be resolved.

# VELOCITY TEMPLATES (VelocityAutoConfiguration)

spring.velocity.allow-request-override=false_# Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.velocity.allow-session-override=false_# Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name._

spring.velocity.cache=# Enable template caching.

spring.velocity.charset=UTF-8_# Template encoding._

spring.velocity.check-template-location=true_# Check that the templates location exists._

spring.velocity.content-type=text/html_# Content-Type value._

spring.velocity.date-tool-attribute=# Name of the DateTool helper object to expose in the Velocity context of the view.

spring.velocity.enabled=true_# Enable MVC view resolution for this technology._

spring.velocity.expose-request-attributes=false_# Set whether all request attributes should be added to the model prior to merging with the template._

spring.velocity.expose-session-attributes=false_# Set whether all HttpSession attributes should be added to the model prior to merging with the template._

spring.velocity.expose-spring-macro-helpers=true_# Set whether to expose a RequestContext for use by Spring’s macro library, under the name “springMacroRequestContext”._

spring.velocity.number-tool-attribute=# Name of the NumberTool helper object to expose in the Velocity context of the view.

spring.velocity.prefer-file-system-access=true_# Prefer file system access for template loading. File system access enables hot detection of template changes._

spring.velocity.prefix=# Prefix that gets prepended to view names when building a URL.

spring.velocity.properties.*=# Additional velocity properties.

spring.velocity.request-context-attribute=# Name of the RequestContext attribute for all views.

spring.velocity.resource-loader-path=classpath:/templates/# Template path.

spring.velocity.suffix=.vm_# Suffix that gets appended to view names when building a URL._

spring.velocity.toolbox-config-location=# Velocity Toolbox config location. For instance `/WEB-INF/toolbox.xml`

spring.velocity.view-names=# White list of view names that can be resolved.

# SPRING WEB SERVICES (WebServicesProperties)

spring.webservices.path=/services_# Path that serves as the base URI for the services._

spring.webservices.servlet.init=# Servlet init parameters to pass to Spring Web Services.

spring.webservices.servlet.load-on-startup=-1_# Load on startup priority of the Spring Web Services servlet._

# ----------------------------------------

# SECURITY PROPERTIES

# ----------------------------------------

# SECURITY (SecurityProperties)

security.basic.authorize-mode=role_# Security authorize mode to apply._

security.basic.enabled=true_# Enable basic authentication._

security.basic.path=/**# Comma-separated list of paths to secure.

security.basic.realm=Spring_# HTTP basic realm name._

security.enable-csrf=false_# Enable Cross Site Request Forgery support._

security.filter-order=0_# Security filter chain order._

security.filter-dispatcher-types=ASYNC, FORWARD, INCLUDE, REQUEST_# Security filter chain dispatcher types._

security.headers.cache=true_# Enable cache control HTTP headers._

security.headers.content-type=true_# Enable “X-Content-Type-Options” header._

security.headers.frame=true_# Enable “X-Frame-Options” header._

security.headers.hsts=# HTTP Strict Transport Security (HSTS) mode (none, domain, all).

security.headers.xss=true_# Enable cross site scripting (XSS) protection._

security.ignored=# Comma-separated list of paths to exclude from the default secured paths.

security.require-ssl=false_# Enable secure channel for all requests._

security.sessions=stateless_# Session creation policy (always, never, if_required, stateless)._

security.user.name=user_# Default user name._

security.user.password=# Password for the default user name. A random password is logged on startup by default.

security.user.role=USER_# Granted roles for the default user name._

# SECURITY OAUTH2 CLIENT (OAuth2ClientProperties)

security.oauth2.client.client-id=# OAuth2 client id.

security.oauth2.client.client-secret=# OAuth2 client secret. A random secret is generated by default

# SECURITY OAUTH2 RESOURCES (ResourceServerProperties)

security.oauth2.resource.id=# Identifier of the resource.

security.oauth2.resource.jwt.key-uri=# The URI of the JWT token. Can be set if the value is not available and the key is public.

security.oauth2.resource.jwt.key-value=# The verification key of the JWT token. Can either be a symmetric secret or PEM-encoded RSA public key.

security.oauth2.resource.prefer-token-info=true_# Use the token info, can be set to false to use the user info._

security.oauth2.resource.service-id=resource_#_

security.oauth2.resource.token-info-uri=# URI of the token decoding endpoint.

security.oauth2.resource.token-type=# The token type to send when using the userInfoUri.

security.oauth2.resource.user-info-uri=# URI of the user endpoint.

# SECURITY OAUTH2 SSO (OAuth2SsoProperties)

security.oauth2.sso.filter-order=# Filter order to apply if not providing an explicit WebSecurityConfigurerAdapter

security.oauth2.sso.login-path=/login_# Path to the login page, i.e. the one that triggers the redirect to the OAuth2 Authorization Server_

# ----------------------------------------

# DATA PROPERTIES

# ----------------------------------------

# FLYWAY (FlywayProperties)

flyway.baseline-description=#

flyway.baseline-version=1_# version to start migration_

flyway.baseline-on-migrate=#

flyway.check-location=false_# Check that migration scripts location exists._

flyway.clean-on-validation-error=#

flyway.enabled=true_# Enable flyway._

flyway.encoding=#

flyway.ignore-failed-future-migration=#

flyway.init-sqls=# SQL statements to execute to initialize a connection immediately after obtaining it.

flyway.locations=classpath:db/migration_# locations of migrations scripts_

flyway.out-of-order=#

flyway.password=# JDBC password if you want Flyway to create its own DataSource

flyway.placeholder-prefix=#

flyway.placeholder-replacement=#

flyway.placeholder-suffix=#

flyway.placeholders.*=#

flyway.schemas=# schemas to update

flyway.sql-migration-prefix=V_#_

flyway.sql-migration-separator=#

flyway.sql-migration-suffix=.sql_#_

flyway.table=#

flyway.url=# JDBC url of the database to migrate. If not set, the primary configured data source is used.

flyway.user=# Login user of the database to migrate.

flyway.validate-on-migrate=#

# LIQUIBASE (LiquibaseProperties)

liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml_# Change log configuration path._

liquibase.check-change-log-location=true_# Check the change log location exists._

liquibase.contexts=# Comma-separated list of runtime contexts to use.

liquibase.default-schema=# Default database schema.

liquibase.drop-first=false_# Drop the database schema first._

liquibase.enabled=true_# Enable liquibase support._

liquibase.labels=# Comma-separated list of runtime labels to use.

liquibase.parameters.*=# Change log parameters.

liquibase.password=# Login password of the database to migrate.

liquibase.rollback-file=# File to which rollback SQL will be written when an update is performed.

liquibase.url=# JDBC url of the database to migrate. If not set, the primary configured data source is used.

liquibase.user=# Login user of the database to migrate.

# COUCHBASE (CouchbaseProperties)

spring.couchbase.bootstrap-hosts=# Couchbase nodes (host or IP address) to bootstrap from.

spring.couchbase.bucket.name=default_# Name of the bucket to connect to._

spring.couchbase.bucket.password= # Password of the bucket.

spring.couchbase.env.endpoints.key-value=1_# Number of sockets per node against the Key/value service._

spring.couchbase.env.endpoints.query=1_# Number of sockets per node against the Query (N1QL) service._

spring.couchbase.env.endpoints.view=1_# Number of sockets per node against the view service._

spring.couchbase.env.ssl.enabled=# Enable SSL support. Enabled automatically if a “keyStore” is provided unless specified otherwise.

spring.couchbase.env.ssl.key-store=# Path to the JVM key store that holds the certificates.

spring.couchbase.env.ssl.key-store-password=# Password used to access the key store.

spring.couchbase.env.timeouts.connect=5000_# Bucket connections timeout in milliseconds._

spring.couchbase.env.timeouts.key-value=2500_# Blocking operations performed on a specific key timeout in milliseconds._

spring.couchbase.env.timeouts.query=7500_# N1QL query operations timeout in milliseconds._

spring.couchbase.env.timeouts.socket-connect=1000_# Socket connect connections timeout in milliseconds._

spring.couchbase.env.timeouts.view=7500_# Regular and geospatial view operations timeout in milliseconds._

# DAO (PersistenceExceptionTranslationAutoConfiguration)

spring.dao.exceptiontranslation.enabled=true_# Enable the PersistenceExceptionTranslationPostProcessor._

# CASSANDRA (CassandraProperties)

spring.data.cassandra.cluster-name=# Name of the Cassandra cluster.

spring.data.cassandra.compression=# Compression supported by the Cassandra binary protocol.

spring.data.cassandra.connect-timeout-millis=# Socket option: connection time out.

spring.data.cassandra.consistency-level=# Queries consistency level.

spring.data.cassandra.contact-points=localhost_# Comma-separated list of cluster node addresses._

spring.data.cassandra.fetch-size=# Queries default fetch size.

spring.data.cassandra.keyspace-name=# Keyspace name to use.

spring.data.cassandra.load-balancing-policy=# Class name of the load balancing policy.

spring.data.cassandra.port=# Port of the Cassandra server.

spring.data.cassandra.password=# Login password of the server.

spring.data.cassandra.read-timeout-millis=# Socket option: read time out.

spring.data.cassandra.reconnection-policy=# Reconnection policy class.

spring.data.cassandra.retry-policy=# Class name of the retry policy.

spring.data.cassandra.serial-consistency-level=# Queries serial consistency level.

spring.data.cassandra.schema-action=none_# Schema action to take at startup._

spring.data.cassandra.ssl=false_# Enable SSL support._

spring.data.cassandra.username=# Login user of the server.

# DATA COUCHBASE (CouchbaseDataProperties)

spring.data.couchbase.auto-index=false_# Automatically create views and indexes._

spring.data.couchbase.consistency=read-your-own-writes_# Consistency to apply by default on generated queries._

spring.data.couchbase.repositories.enabled=true_# Enable Couchbase repositories._

# ELASTICSEARCH (ElasticsearchProperties)

spring.data.elasticsearch.cluster-name=elasticsearch_# Elasticsearch cluster name._

spring.data.elasticsearch.cluster-nodes=# Comma-separated list of cluster node addresses. If not specified, starts a client node.

spring.data.elasticsearch.properties.*=# Additional properties used to configure the client.

spring.data.elasticsearch.repositories.enabled=true_# Enable Elasticsearch repositories._

# MONGODB (MongoProperties)

spring.data.mongodb.authentication-database=# Authentication database name.

spring.data.mongodb.database=test_# Database name._

spring.data.mongodb.field-naming-strategy=# Fully qualified name of the FieldNamingStrategy to use.

spring.data.mongodb.grid-fs-database=# GridFS database name.

spring.data.mongodb.host=localhost_# Mongo server host._

spring.data.mongodb.password=# Login password of the mongo server.

spring.data.mongodb.port=27017_# Mongo server port._

spring.data.mongodb.repositories.enabled=true_# Enable Mongo repositories._

spring.data.mongodb.uri=mongodb://localhost/test_# Mongo database URI. When set, host and port are ignored._

spring.data.mongodb.username=# Login user of the mongo server.

# DATA REDIS

spring.data.redis.repositories.enabled=true_# Enable Redis repositories._

# NEO4J (Neo4jProperties)

spring.data.neo4j.compiler=# Compiler to use.

spring.data.neo4j.embedded.enabled=true_# Enable embedded mode if the embedded driver is available._

spring.data.neo4j.password=# Login password of the server.

spring.data.neo4j.repositories.enabled=true_# Enable Neo4j repositories._

spring.data.neo4j.session.scope=singleton_# Scope (lifetime) of the session._

spring.data.neo4j.uri=# URI used by the driver. Auto-detected by default.

spring.data.neo4j.username=# Login user of the server.

# DATA REST (RepositoryRestProperties)

spring.data.rest.base-path=# Base path to be used by Spring Data REST to expose repository resources.

spring.data.rest.default-page-size=# Default size of pages.

spring.data.rest.enable-enum-translation=# Enable enum value translation via the Spring Data REST default resource bundle.

spring.data.rest.limit-param-name=# Name of the URL query string parameter that indicates how many results to return at once.

spring.data.rest.max-page-size=# Maximum size of pages.

spring.data.rest.page-param-name=# Name of the URL query string parameter that indicates what page to return.

spring.data.rest.return-body-on-create=# Return a response body after creating an entity.

spring.data.rest.return-body-on-update=# Return a response body after updating an entity.

spring.data.rest.sort-param-name=# Name of the URL query string parameter that indicates what direction to sort results.

# SOLR (SolrProperties)

spring.data.solr.host=http://127.0.0.1:8983/solr_# Solr host. Ignored if “zk-host” is set._

spring.data.solr.repositories.enabled=true_# Enable Solr repositories._

spring.data.solr.zk-host=# ZooKeeper host address in the form HOST:PORT.

# DATASOURCE (DataSourceAutoConfiguration&DataSourceProperties)

spring.datasource.continue-on-error=false_# Do not stop if an error occurs while initializing the database._

spring.datasource.data=# Data (DML) script resource reference.

spring.datasource.data-username=# User of the database to execute DML scripts (if different).

spring.datasource.data-password=# Password of the database to execute DML scripts (if different).

spring.datasource.dbcp.*=# Commons DBCP specific settings

spring.datasource.dbcp2.*=# Commons DBCP2 specific settings

spring.datasource.driver-class-name=# Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.

spring.datasource.generate-unique-name=false_# Generate a random datasource name._

spring.datasource.hikari.*=# Hikari specific settings

spring.datasource.initialize=true_# Populate the database using ‘data.sql’._

spring.datasource.jmx-enabled=false_# Enable JMX support (if provided by the underlying pool)._

spring.datasource.jndi-name=# JNDI location of the datasource. Class, url, username & password are ignored when set.

spring.datasource.name=testdb_# Name of the datasource._

spring.datasource.password=# Login password of the database.

spring.datasource.platform=all_# Platform to use in the schema resource (schema-${platform}.sql)._

spring.datasource.schema=# Schema (DDL) script resource reference.

spring.datasource.schema-username=# User of the database to execute DDL scripts (if different).

spring.datasource.schema-password=# Password of the database to execute DDL scripts (if different).

spring.datasource.separator=;# Statement separator in SQL initialization scripts.

spring.datasource.sql-script-encoding=# SQL scripts encoding.

spring.datasource.tomcat.*=# Tomcat datasource specific settings

spring.datasource.type=# Fully qualified name of the connection pool implementation to use. By default, it is auto-detected from the classpath.

spring.datasource.url=# JDBC url of the database.

spring.datasource.username=

# JEST (Elasticsearch HTTP client) (JestProperties)

spring.elasticsearch.jest.connection-timeout=3000_# Connection timeout in milliseconds._

spring.elasticsearch.jest.password=# Login password.

spring.elasticsearch.jest.proxy.host=# Proxy host the HTTP client should use.

spring.elasticsearch.jest.proxy.port=# Proxy port the HTTP client should use.

spring.elasticsearch.jest.read-timeout=3000_# Read timeout in milliseconds._

spring.elasticsearch.jest.uris=http://localhost:9200_# Comma-separated list of the Elasticsearch instances to use._

spring.elasticsearch.jest.username=# Login user.

# H2 Web Console (H2ConsoleProperties)

spring.h2.console.enabled=false_# Enable the console._

spring.h2.console.path=/h2-console_# Path at which the console will be available._

spring.h2.console.settings.trace=false_# Enable trace output._

spring.h2.console.settings.web-allow-others=false_# Enable remote access._

# JOOQ (JooqAutoConfiguration)

spring.jooq.sql-dialect=# SQLDialect JOOQ used when communicating with the configured datasource. For instance `POSTGRES`

# JPA (JpaBaseConfiguration,HibernateJpaAutoConfiguration)

spring.data.jpa.repositories.enabled=true_# Enable JPA repositories._

spring.jpa.database=# Target database to operate on, auto-detected by default. Can be alternatively set using the “databasePlatform” property.

spring.jpa.database-platform=# Name of the target database to operate on, auto-detected by default. Can be alternatively set using the “Database” enum.

spring.jpa.generate-ddl=false_# Initialize the schema on startup._

spring.jpa.hibernate.ddl-auto=# DDL mode. This is actually a shortcut for the “hibernate.hbm2ddl.auto” property. Default to “create-drop” when using an embedded database, “none” otherwise.

spring.jpa.hibernate.naming.implicit-strategy=# Hibernate 5 implicit naming strategy fully qualified name.

spring.jpa.hibernate.naming.physical-strategy=# Hibernate 5 physical naming strategy fully qualified name.

spring.jpa.hibernate.naming.strategy=# Hibernate 4 naming strategy fully qualified name. Not supported with Hibernate 5.

spring.jpa.hibernate.use-new-id-generator-mappings=# Use Hibernate’s newer IdentifierGenerator for AUTO, TABLE and SEQUENCE.

spring.jpa.open-in-view=true_# Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request._

spring.jpa.properties.*=# Additional native properties to set on the JPA provider.

spring.jpa.show-sql=false_# Enable logging of SQL statements._

# JTA (JtaAutoConfiguration)

spring.jta.enabled=true_# Enable JTA support._

spring.jta.log-dir=# Transaction logs directory.

spring.jta.transaction-manager-id=# Transaction manager unique identifier.

# ATOMIKOS (AtomikosProperties)

spring.jta.atomikos.connectionfactory.borrow-connection-timeout=30_# Timeout, in seconds, for borrowing connections from the pool._

spring.jta.atomikos.connectionfactory.ignore-session-transacted-flag=true_# Whether or not to ignore the transacted flag when creating session._

spring.jta.atomikos.connectionfactory.local-transaction-mode=false_# Whether or not local transactions are desired._

spring.jta.atomikos.connectionfactory.maintenance-interval=60_# The time, in seconds, between runs of the pool’s maintenance thread._

spring.jta.atomikos.connectionfactory.max-idle-time=60_# The time, in seconds, after which connections are cleaned up from the pool._

spring.jta.atomikos.connectionfactory.max-lifetime=0_# The time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit._

spring.jta.atomikos.connectionfactory.max-pool-size=1_# The maximum size of the pool._

spring.jta.atomikos.connectionfactory.min-pool-size=1_# The minimum size of the pool._

spring.jta.atomikos.connectionfactory.reap-timeout=0_# The reap timeout, in seconds, for borrowed connections. 0 denotes no limit._

spring.jta.atomikos.connectionfactory.unique-resource-name=jmsConnectionFactory_# The unique name used to identify the resource during recovery._

spring.jta.atomikos.datasource.borrow-connection-timeout=30_# Timeout, in seconds, for borrowing connections from the pool._

spring.jta.atomikos.datasource.default-isolation-level=# Default isolation level of connections provided by the pool.

spring.jta.atomikos.datasource.login-timeout=# Timeout, in seconds, for establishing a database connection.

spring.jta.atomikos.datasource.maintenance-interval=60_# The time, in seconds, between runs of the pool’s maintenance thread._

spring.jta.atomikos.datasource.max-idle-time=60_# The time, in seconds, after which connections are cleaned up from the pool._

spring.jta.atomikos.datasource.max-lifetime=0_# The time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit._

spring.jta.atomikos.datasource.max-pool-size=1_# The maximum size of the pool._

spring.jta.atomikos.datasource.min-pool-size=1_# The minimum size of the pool._

spring.jta.atomikos.datasource.reap-timeout=0_# The reap timeout, in seconds, for borrowed connections. 0 denotes no limit._

spring.jta.atomikos.datasource.test-query=# SQL query or statement used to validate a connection before returning it.

spring.jta.atomikos.datasource.unique-resource-name=dataSource_# The unique name used to identify the resource during recovery._

spring.jta.atomikos.properties.checkpoint-interval=500_# Interval between checkpoints._

spring.jta.atomikos.properties.console-file-count=1_# Number of debug logs files that can be created._

spring.jta.atomikos.properties.console-file-limit=-1_# How many bytes can be stored at most in debug logs files._

spring.jta.atomikos.properties.console-file-name=tm.out_# Debug logs file name._

spring.jta.atomikos.properties.console-log-level=# Console log level.

spring.jta.atomikos.properties.default-jta-timeout=10000_# Default timeout for JTA transactions._

spring.jta.atomikos.properties.enable-logging=true_# Enable disk logging._

spring.jta.atomikos.properties.force-shutdown-on-vm-exit=false_# Specify if a VM shutdown should trigger forced shutdown of the transaction core._

spring.jta.atomikos.properties.log-base-dir=# Directory in which the log files should be stored.

spring.jta.atomikos.properties.log-base-name=tmlog_# Transactions log file base name._

spring.jta.atomikos.properties.max-actives=50_# Maximum number of active transactions._

spring.jta.atomikos.properties.max-timeout=300000_# Maximum timeout (in milliseconds) that can be allowed for transactions._

spring.jta.atomikos.properties.output-dir=# Directory in which to store the debug log files.

spring.jta.atomikos.properties.serial-jta-transactions=true_# Specify if sub-transactions should be joined when possible._

spring.jta.atomikos.properties.service=# Transaction manager implementation that should be started.

spring.jta.atomikos.properties.threaded-two-phase-commit=true_# Use different (and concurrent) threads for two-phase commit on the participating resources._

spring.jta.atomikos.properties.transaction-manager-unique-name=# Transaction manager’s unique name.

# BITRONIX

spring.jta.bitronix.connectionfactory.acquire-increment=1_# Number of connections to create when growing the pool._

spring.jta.bitronix.connectionfactory.acquisition-interval=1_# Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired._

spring.jta.bitronix.connectionfactory.acquisition-timeout=30_# Timeout, in seconds, for acquiring connections from the pool._

spring.jta.bitronix.connectionfactory.allow-local-transactions=true_# Whether or not the transaction manager should allow mixing XA and non-XA transactions._

spring.jta.bitronix.connectionfactory.apply-transaction-timeout=false_# Whether or not the transaction timeout should be set on the XAResource when it is enlisted._

spring.jta.bitronix.connectionfactory.automatic-enlisting-enabled=true_# Whether or not resources should be enlisted and delisted automatically._

spring.jta.bitronix.connectionfactory.cache-producers-consumers=true_# Whether or not produces and consumers should be cached._

spring.jta.bitronix.connectionfactory.defer-connection-release=true_# Whether or not the provider can run many transactions on the same connection and supports transaction interleaving._

spring.jta.bitronix.connectionfactory.ignore-recovery-failures=false_# Whether or not recovery failures should be ignored._

spring.jta.bitronix.connectionfactory.max-idle-time=60_# The time, in seconds, after which connections are cleaned up from the pool._

spring.jta.bitronix.connectionfactory.max-pool-size=10_# The maximum size of the pool. 0 denotes no limit._

spring.jta.bitronix.connectionfactory.min-pool-size=0_# The minimum size of the pool._

spring.jta.bitronix.connectionfactory.password=# The password to use to connect to the JMS provider.

spring.jta.bitronix.connectionfactory.share-transaction-connections=false_# Whether or not connections in the ACCESSIBLE state can be shared within the context of a transaction._

spring.jta.bitronix.connectionfactory.test-connections=true_# Whether or not connections should be tested when acquired from the pool._

spring.jta.bitronix.connectionfactory.two-pc-ordering-position=1_# The position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE)._

spring.jta.bitronix.connectionfactory.unique-name=jmsConnectionFactory_# The unique name used to identify the resource during recovery._

spring.jta.bitronix.connectionfactory.use-tm-join=true Whether or not TMJOIN should be used when starting XAResources.

spring.jta.bitronix.connectionfactory.user=# The user to use to connect to the JMS provider.

spring.jta.bitronix.datasource.acquire-increment=1_# Number of connections to create when growing the pool._

spring.jta.bitronix.datasource.acquisition-interval=1_# Time, in seconds, to wait before trying to acquire a connection again after an invalid connection was acquired._

spring.jta.bitronix.datasource.acquisition-timeout=30_# Timeout, in seconds, for acquiring connections from the pool._

spring.jta.bitronix.datasource.allow-local-transactions=true_# Whether or not the transaction manager should allow mixing XA and non-XA transactions._

spring.jta.bitronix.datasource.apply-transaction-timeout=false_# Whether or not the transaction timeout should be set on the XAResource when it is enlisted._

spring.jta.bitronix.datasource.automatic-enlisting-enabled=true_# Whether or not resources should be enlisted and delisted automatically._

spring.jta.bitronix.datasource.cursor-holdability=# The default cursor holdability for connections.

spring.jta.bitronix.datasource.defer-connection-release=true_# Whether or not the database can run many transactions on the same connection and supports transaction interleaving._

spring.jta.bitronix.datasource.enable-jdbc4-connection-test=# Whether or not Connection.isValid() is called when acquiring a connection from the pool.

spring.jta.bitronix.datasource.ignore-recovery-failures=false_# Whether or not recovery failures should be ignored._

spring.jta.bitronix.datasource.isolation-level=# The default isolation level for connections.

spring.jta.bitronix.datasource.local-auto-commit=# The default auto-commit mode for local transactions.

spring.jta.bitronix.datasource.login-timeout=# Timeout, in seconds, for establishing a database connection.

spring.jta.bitronix.datasource.max-idle-time=60_# The time, in seconds, after which connections are cleaned up from the pool._

spring.jta.bitronix.datasource.max-pool-size=10_# The maximum size of the pool. 0 denotes no limit._

spring.jta.bitronix.datasource.min-pool-size=0_# The minimum size of the pool._

spring.jta.bitronix.datasource.prepared-statement-cache-size=0_# The target size of the prepared statement cache. 0 disables the cache._

spring.jta.bitronix.datasource.share-transaction-connections=false_# Whether or not connections in the ACCESSIBLE state can be shared within the context of a transaction._

spring.jta.bitronix.datasource.test-query=# SQL query or statement used to validate a connection before returning it.

spring.jta.bitronix.datasource.two-pc-ordering-position=1_# The position that this resource should take during two-phase commit (always first is Integer.MIN_VALUE, always last is Integer.MAX_VALUE)._

spring.jta.bitronix.datasource.unique-name=dataSource_# The unique name used to identify the resource during recovery._

spring.jta.bitronix.datasource.use-tm-join=true Whether or not TMJOIN should be used when starting XAResources.

spring.jta.bitronix.properties.allow-multiple-lrc=false_# Allow multiple LRC resources to be enlisted into the same transaction._

spring.jta.bitronix.properties.asynchronous2-pc=false_# Enable asynchronously execution of two phase commit._

spring.jta.bitronix.properties.background-recovery-interval-seconds=60_# Interval in seconds at which to run the recovery process in the background._

spring.jta.bitronix.properties.current-node-only-recovery=true_# Recover only the current node._

spring.jta.bitronix.properties.debug-zero-resource-transaction=false_# Log the creation and commit call stacks of transactions executed without a single enlisted resource._

spring.jta.bitronix.properties.default-transaction-timeout=60_# Default transaction timeout in seconds._

spring.jta.bitronix.properties.disable-jmx=false_# Enable JMX support._

spring.jta.bitronix.properties.exception-analyzer=# Set the fully qualified name of the exception analyzer implementation to use.

spring.jta.bitronix.properties.filter-log-status=false_# Enable filtering of logs so that only mandatory logs are written._

spring.jta.bitronix.properties.force-batching-enabled=true_# Set if disk forces are batched._

spring.jta.bitronix.properties.forced-write-enabled=true_# Set if logs are forced to disk._

spring.jta.bitronix.properties.graceful-shutdown-interval=60_# Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time._

spring.jta.bitronix.properties.jndi-transaction-synchronization-registry-name=# JNDI name of the TransactionSynchronizationRegistry.

spring.jta.bitronix.properties.jndi-user-transaction-name=# JNDI name of the UserTransaction.

spring.jta.bitronix.properties.journal=disk_# Name of the journal. Can be ‘disk’, ‘null’ or a class name._

spring.jta.bitronix.properties.log-part1-filename=btm1.tlog_# Name of the first fragment of the journal._

spring.jta.bitronix.properties.log-part2-filename=btm2.tlog_# Name of the second fragment of the journal._

spring.jta.bitronix.properties.max-log-size-in-mb=2_# Maximum size in megabytes of the journal fragments._

spring.jta.bitronix.properties.resource-configuration-filename=# ResourceLoader configuration file name.

spring.jta.bitronix.properties.server-id=# ASCII ID that must uniquely identify this TM instance. Default to the machine’s IP address.

spring.jta.bitronix.properties.skip-corrupted-logs=false_# Skip corrupted transactions log entries._

spring.jta.bitronix.properties.warn-about-zero-resource-transaction=true_# Log a warning for transactions executed without a single enlisted resource._

# NARAYANA (NarayanaProperties)

spring.jta.narayana.default-timeout=60_# Transaction timeout in seconds._

spring.jta.narayana.expiry-scanners=com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner_# Comma-separated list of expiry scanners._

spring.jta.narayana.log-dir=# Transaction object store directory.

spring.jta.narayana.one-phase-commit=true_# Enable one phase commit optimisation._

spring.jta.narayana.periodic-recovery-period=120_# Interval in which periodic recovery scans are performed in seconds._

spring.jta.narayana.recovery-backoff-period=10_# Back off period between first and second phases of the recovery scan in seconds._

spring.jta.narayana.recovery-db-pass=# Database password to be used by recovery manager.

spring.jta.narayana.recovery-db-user=# Database username to be used by recovery manager.

spring.jta.narayana.recovery-jms-pass=# JMS password to be used by recovery manager.

spring.jta.narayana.recovery-jms-user=# JMS username to be used by recovery manager.

spring.jta.narayana.recovery-modules=# Comma-separated list of recovery modules.

spring.jta.narayana.transaction-manager-id=1_# Unique transaction manager id._

spring.jta.narayana.xa-resource-orphan-filters=# Comma-separated list of orphan filters.

# EMBEDDED MONGODB (EmbeddedMongoProperties)

spring.mongodb.embedded.features=SYNC_DELAY_# Comma-separated list of features to enable._

spring.mongodb.embedded.storage.database-dir=# Directory used for data storage.

spring.mongodb.embedded.storage.oplog-size=# Maximum size of the oplog in megabytes.

spring.mongodb.embedded.storage.repl-set-name=# Name of the replica set.

spring.mongodb.embedded.version=2.6.10_# Version of Mongo to use._

# REDIS (RedisProperties)

spring.redis.cluster.max-redirects=# Maximum number of redirects to follow when executing commands across the cluster.

spring.redis.cluster.nodes=# Comma-separated list of “host:port” pairs to bootstrap from.

spring.redis.database=0_# Database index used by the connection factory._

spring.redis.host=localhost_# Redis server host._

spring.redis.password=# Login password of the redis server.

spring.redis.pool.max-active=8_# Max number of connections that can be allocated by the pool at a given time. Use a negative value for no limit._

spring.redis.pool.max-idle=8_# Max number of “idle” connections in the pool. Use a negative value to indicate an unlimited number of idle connections._

spring.redis.pool.max-wait=-1_# Maximum amount of time (in milliseconds) a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely._

spring.redis.pool.min-idle=0_# Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive._

spring.redis.port=6379_# Redis server port._

spring.redis.sentinel.master=# Name of Redis server.

spring.redis.sentinel.nodes=# Comma-separated list of host:port pairs.

spring.redis.timeout=0_# Connection timeout in milliseconds._

# ----------------------------------------

# INTEGRATION PROPERTIES

# ----------------------------------------

# ACTIVEMQ (ActiveMQProperties)

spring.activemq.broker-url=# URL of the ActiveMQ broker. Auto-generated by default. For instance `tcp://localhost:61616`

spring.activemq.in-memory=true_# Specify if the default broker URL should be in memory. Ignored if an explicit broker has been specified._

spring.activemq.password=# Login password of the broker.

spring.activemq.user=# Login user of the broker.

spring.activemq.packages.trust-all=false_# Trust all packages._

spring.activemq.packages.trusted=# Comma-separated list of specific packages to trust (when not trusting all packages).

spring.activemq.pool.configuration.*=# See PooledConnectionFactory.

spring.activemq.pool.enabled=false_# Whether a PooledConnectionFactory should be created instead of a regular ConnectionFactory._

spring.activemq.pool.expiry-timeout=0_# Connection expiration timeout in milliseconds._

spring.activemq.pool.idle-timeout=30000_# Connection idle timeout in milliseconds._

spring.activemq.pool.max-connections=1_# Maximum number of pooled connections._

# ARTEMIS (ArtemisProperties)

spring.artemis.embedded.cluster-password=# Cluster password. Randomly generated on startup by default.

spring.artemis.embedded.data-directory=# Journal file directory. Not necessary if persistence is turned off.

spring.artemis.embedded.enabled=true_# Enable embedded mode if the Artemis server APIs are available._

spring.artemis.embedded.persistent=false_# Enable persistent store._

spring.artemis.embedded.queues=# Comma-separated list of queues to create on startup.

spring.artemis.embedded.server-id=# Server id. By default, an auto-incremented counter is used.

spring.artemis.embedded.topics=# Comma-separated list of topics to create on startup.

spring.artemis.host=localhost_# Artemis broker host._

spring.artemis.mode=# Artemis deployment mode, auto-detected by default.

spring.artemis.password=# Login password of the broker.

spring.artemis.port=61616_# Artemis broker port._

spring.artemis.user=# Login user of the broker.

# SPRING BATCH (BatchProperties)

spring.batch.initializer.enabled=# Create the required batch tables on startup if necessary. Enabled automatically if no custom table prefix is set or if a custom schema is configured.

spring.batch.job.enabled=true_# Execute all Spring Batch jobs in the context on startup._

spring.batch.job.names=# Comma-separated list of job names to execute on startup (For instance `job1,job2`). By default, all Jobs found in the context are executed.

spring.batch.schema=classpath:org/springframework/batch/core/schema-@@platform@@.sql_# Path to the SQL file to use to initialize the database schema._

spring.batch.table-prefix=# Table prefix for all the batch meta-data tables.

# HORNETQ (HornetQProperties)

spring.hornetq.embedded.cluster-password=# Cluster password. Randomly generated on startup by default.

spring.hornetq.embedded.data-directory=# Journal file directory. Not necessary if persistence is turned off.

spring.hornetq.embedded.enabled=true_# Enable embedded mode if the HornetQ server APIs are available._

spring.hornetq.embedded.persistent=false_# Enable persistent store._

spring.hornetq.embedded.queues=# Comma-separated list of queues to create on startup.

spring.hornetq.embedded.server-id=# Server id. By default, an auto-incremented counter is used.

spring.hornetq.embedded.topics=# Comma-separated list of topics to create on startup.

spring.hornetq.host=localhost_# HornetQ broker host._

spring.hornetq.mode=# HornetQ deployment mode, auto-detected by default.

spring.hornetq.password=# Login password of the broker.

spring.hornetq.port=5445_# HornetQ broker port._

spring.hornetq.user=# Login user of the broker.

# JMS (JmsProperties)

spring.jms.jndi-name=# Connection factory JNDI name. When set, takes precedence to others connection factory auto-configurations.

spring.jms.listener.acknowledge-mode=# Acknowledge mode of the container. By default, the listener is transacted with automatic acknowledgment.

spring.jms.listener.auto-startup=true_# Start the container automatically on startup._

spring.jms.listener.concurrency=# Minimum number of concurrent consumers.

spring.jms.listener.max-concurrency=# Maximum number of concurrent consumers.

spring.jms.pub-sub-domain=false_# Specify if the default destination type is topic._

# RABBIT (RabbitProperties)

spring.rabbitmq.addresses=# Comma-separated list of addresses to which the client should connect.

spring.rabbitmq.cache.channel.checkout-timeout=# Number of milliseconds to wait to obtain a channel if the cache size has been reached.

spring.rabbitmq.cache.channel.size=# Number of channels to retain in the cache.

spring.rabbitmq.cache.connection.mode=CHANNEL_# Connection factory cache mode._

spring.rabbitmq.cache.connection.size=# Number of connections to cache.

spring.rabbitmq.connection-timeout=# Connection timeout, in milliseconds; zero for infinite.

spring.rabbitmq.dynamic=true_# Create an AmqpAdmin bean._

spring.rabbitmq.host=localhost_# RabbitMQ host._

spring.rabbitmq.listener.acknowledge-mode=# Acknowledge mode of container.

spring.rabbitmq.listener.auto-startup=true_# Start the container automatically on startup._

spring.rabbitmq.listener.concurrency=# Minimum number of consumers.

spring.rabbitmq.listener.default-requeue-rejected=# Whether or not to requeue delivery failures; default `true`.

spring.rabbitmq.listener.max-concurrency=# Maximum number of consumers.

spring.rabbitmq.listener.prefetch=# Number of messages to be handled in a single request. It should be greater than or equal to the transaction size (if used).

spring.rabbitmq.listener.retry.enabled=false_# Whether or not publishing retries are enabled._

spring.rabbitmq.listener.retry.initial-interval=1000_# Interval between the first and second attempt to deliver a message._

spring.rabbitmq.listener.retry.max-attempts=3_# Maximum number of attempts to deliver a message._

spring.rabbitmq.listener.retry.max-interval=10000_# Maximum interval between attempts._

spring.rabbitmq.listener.retry.multiplier=1.0_# A multiplier to apply to the previous delivery retry interval._

spring.rabbitmq.listener.retry.stateless=true_# Whether or not retry is stateless or stateful._

spring.rabbitmq.listener.transaction-size=# Number of messages to be processed in a transaction. For best results it should be less than or equal to the prefetch count.

spring.rabbitmq.password=# Login to authenticate against the broker.

spring.rabbitmq.port=5672_# RabbitMQ port._

spring.rabbitmq.publisher-confirms=false_# Enable publisher confirms._

spring.rabbitmq.publisher-returns=false_# Enable publisher returns._

spring.rabbitmq.requested-heartbeat=# Requested heartbeat timeout, in seconds; zero for none.

spring.rabbitmq.ssl.enabled=false_# Enable SSL support._

spring.rabbitmq.ssl.key-store=# Path to the key store that holds the SSL certificate.

spring.rabbitmq.ssl.key-store-password=# Password used to access the key store.

spring.rabbitmq.ssl.trust-store=# Trust store that holds SSL certificates.

spring.rabbitmq.ssl.trust-store-password=# Password used to access the trust store.

spring.rabbitmq.ssl.algorithm=# SSL algorithm to use. By default configure by the rabbit client library.

spring.rabbitmq.template.mandatory=false_# Enable mandatory messages._

spring.rabbitmq.template.receive-timeout=0_# Timeout for `receive()` methods._

spring.rabbitmq.template.reply-timeout=5000_# Timeout for `sendAndReceive()` methods._

spring.rabbitmq.template.retry.enabled=false_# Set to true to enable retries in the `RabbitTemplate`._

spring.rabbitmq.template.retry.initial-interval=1000_# Interval between the first and second attempt to publish a message._

spring.rabbitmq.template.retry.max-attempts=3_# Maximum number of attempts to publish a message._

spring.rabbitmq.template.retry.max-interval=10000_# Maximum number of attempts to publish a message._

spring.rabbitmq.template.retry.multiplier=1.0_# A multiplier to apply to the previous publishing retry interval._

spring.rabbitmq.username=# Login user to authenticate to the broker.

spring.rabbitmq.virtual-host=# Virtual host to use when connecting to the broker.

# ----------------------------------------

# ACTUATOR PROPERTIES

# ----------------------------------------

# ENDPOINTS (AbstractEndpointsubclasses)

endpoints.enabled=true_# Enable endpoints._

endpoints.sensitive=# Default endpoint sensitive setting.

endpoints.actuator.enabled=true_# Enable the endpoint._

endpoints.actuator.path=# Endpoint URL path.

endpoints.actuator.sensitive=false_# Enable security on the endpoint._

endpoints.autoconfig.enabled=# Enable the endpoint.

endpoints.autoconfig.id=# Endpoint identifier.

endpoints.autoconfig.path=# Endpoint path.

endpoints.autoconfig.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.beans.enabled=# Enable the endpoint.

endpoints.beans.id=# Endpoint identifier.

endpoints.beans.path=# Endpoint path.

endpoints.beans.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.configprops.enabled=# Enable the endpoint.

endpoints.configprops.id=# Endpoint identifier.

endpoints.configprops.keys-to-sanitize=password,secret,key,token,.*credentials.*,vcap_services_# Keys that should be sanitized. Keys can be simple strings that the property ends with or regex expressions._

endpoints.configprops.path=# Endpoint path.

endpoints.configprops.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.docs.curies.enabled=false_# Enable the curie generation._

endpoints.docs.enabled=true_# Enable actuator docs endpoint._

endpoints.docs.path=/docs_#_

endpoints.docs.sensitive=false_#_

endpoints.dump.enabled=# Enable the endpoint.

endpoints.dump.id=# Endpoint identifier.

endpoints.dump.path=# Endpoint path.

endpoints.dump.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.env.enabled=# Enable the endpoint.

endpoints.env.id=# Endpoint identifier.

endpoints.env.keys-to-sanitize=password,secret,key,token,.*credentials.*,vcap_services_# Keys that should be sanitized. Keys can be simple strings that the property ends with or regex expressions._

endpoints.env.path=# Endpoint path.

endpoints.env.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.flyway.enabled=# Enable the endpoint.

endpoints.flyway.id=# Endpoint identifier.

endpoints.flyway.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.health.enabled=# Enable the endpoint.

endpoints.health.id=# Endpoint identifier.

endpoints.health.mapping.*=# Mapping of health statuses to HttpStatus codes. By default, registered health statuses map to sensible defaults (i.e. UP maps to 200).

endpoints.health.path=# Endpoint path.

endpoints.health.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.health.time-to-live=1000_# Time to live for cached result, in milliseconds._

endpoints.heapdump.enabled=# Enable the endpoint.

endpoints.heapdump.path=# Endpoint path.

endpoints.heapdump.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.hypermedia.enabled=false_# Enable hypermedia support for endpoints._

endpoints.info.enabled=# Enable the endpoint.

endpoints.info.id=# Endpoint identifier.

endpoints.info.path=# Endpoint path.

endpoints.info.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.jolokia.enabled=true_# Enable Jolokia endpoint._

endpoints.jolokia.path=/jolokia_# Endpoint URL path._

endpoints.jolokia.sensitive=true_# Enable security on the endpoint._

endpoints.liquibase.enabled=# Enable the endpoint.

endpoints.liquibase.id=# Endpoint identifier.

endpoints.liquibase.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.logfile.enabled=true_# Enable the endpoint._

endpoints.logfile.external-file=# External Logfile to be accessed.

endpoints.logfile.path=/logfile_# Endpoint URL path._

endpoints.logfile.sensitive=true_# Enable security on the endpoint._

endpoints.mappings.enabled=# Enable the endpoint.

endpoints.mappings.id=# Endpoint identifier.

endpoints.mappings.path=# Endpoint path.

endpoints.mappings.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.metrics.enabled=# Enable the endpoint.

endpoints.metrics.filter.enabled=true_# Enable the metrics servlet filter._

endpoints.metrics.filter.gauge-submissions=merged_# Http filter gauge submissions (merged, per-http-method)_

endpoints.metrics.filter.counter-submissions=merged_# Http filter counter submissions (merged, per-http-method)_

endpoints.metrics.id=# Endpoint identifier.

endpoints.metrics.path=# Endpoint path.

endpoints.metrics.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.shutdown.enabled=# Enable the endpoint.

endpoints.shutdown.id=# Endpoint identifier.

endpoints.shutdown.path=# Endpoint path.

endpoints.shutdown.sensitive=# Mark if the endpoint exposes sensitive information.

endpoints.trace.enabled=# Enable the endpoint.

endpoints.trace.id=# Endpoint identifier.

endpoints.trace.path=# Endpoint path.

endpoints.trace.sensitive=# Mark if the endpoint exposes sensitive information.

# ENDPOINTS CORS CONFIGURATION (EndpointCorsProperties)

endpoints.cors.allow-credentials=# Set whether credentials are supported. When not set, credentials are not supported.

endpoints.cors.allowed-headers=# Comma-separated list of headers to allow in a request. ‘*’ allows all headers.

endpoints.cors.allowed-methods=GET_# Comma-separated list of methods to allow. ‘*’ allows all methods._

endpoints.cors.allowed-origins=# Comma-separated list of origins to allow. ‘*’ allows all origins. When not set, CORS support is disabled.

endpoints.cors.exposed-headers=# Comma-separated list of headers to include in a response.

endpoints.cors.max-age=1800_# How long, in seconds, the response from a pre-flight request can be cached by clients._

# JMX ENDPOINT (EndpointMBeanExportProperties)

endpoints.jmx.domain=# JMX domain name. Initialized with the value of ‘spring.jmx.default-domain’ if set.

endpoints.jmx.enabled=true_# Enable JMX export of all endpoints._

endpoints.jmx.static-names=# Additional static properties to append to all ObjectNames of MBeans representing Endpoints.

endpoints.jmx.unique-names=false_# Ensure that ObjectNames are modified in case of conflict._

# JOLOKIA (JolokiaProperties)

jolokia.config.*=# See Jolokia manual

# MANAGEMENT HTTP SERVER (ManagementServerProperties)

management.add-application-context-header=true_# Add the “X-Application-Context” HTTP header in each response._

management.address=# Network address that the management endpoints should bind to.

management.context-path=# Management endpoint context-path. For instance `/actuator`

management.port=# Management endpoint HTTP port. Uses the same port as the application by default. Configure a different port to use management-specific SSL.

management.security.enabled=true_# Enable security._

management.security.roles=ADMIN_# Comma-separated list of roles that can access the management endpoint._

management.security.sessions=stateless_# Session creating policy to use (always, never, if_required, stateless)._

management.ssl.ciphers=# Supported SSL ciphers. Requires a custom management.port.

management.ssl.client-auth=# Whether client authentication is wanted (“want”) or needed (“need”). Requires a trust store. Requires a custom management.port.

management.ssl.enabled=# Enable SSL support. Requires a custom management.port.

management.ssl.enabled-protocols=# Enabled SSL protocols. Requires a custom management.port.

management.ssl.key-alias=# Alias that identifies the key in the key store. Requires a custom management.port.

management.ssl.key-password=# Password used to access the key in the key store. Requires a custom management.port.

management.ssl.key-store=# Path to the key store that holds the SSL certificate (typically a jks file). Requires a custom management.port.

management.ssl.key-store-password=# Password used to access the key store. Requires a custom management.port.

management.ssl.key-store-provider=# Provider for the key store. Requires a custom management.port.

management.ssl.key-store-type=# Type of the key store. Requires a custom management.port.

management.ssl.protocol=TLS_# SSL protocol to use. Requires a custom management.port._

management.ssl.trust-store=# Trust store that holds SSL certificates. Requires a custom management.port.

management.ssl.trust-store-password=# Password used to access the trust store. Requires a custom management.port.

management.ssl.trust-store-provider=# Provider for the trust store. Requires a custom management.port.

management.ssl.trust-store-type=# Type of the trust store. Requires a custom management.port.

# HEALTH INDICATORS (previously health.*)

management.health.db.enabled=true_# Enable database health check._

management.health.defaults.enabled=true_# Enable default health indicators._

management.health.diskspace.enabled=true_# Enable disk space health check._

management.health.diskspace.path=# Path used to compute the available disk space.

management.health.diskspace.threshold=0_# Minimum disk space that should be available, in bytes._

management.health.elasticsearch.enabled=true_# Enable elasticsearch health check._

management.health.elasticsearch.indices=# Comma-separated index names.

management.health.elasticsearch.response-timeout=100_# The time, in milliseconds, to wait for a response from the cluster._

management.health.jms.enabled=true_# Enable JMS health check._

management.health.mail.enabled=true_# Enable Mail health check._

management.health.mongo.enabled=true_# Enable MongoDB health check._

management.health.rabbit.enabled=true_# Enable RabbitMQ health check._

management.health.redis.enabled=true_# Enable Redis health check._

management.health.solr.enabled=true_# Enable Solr health check._

management.health.status.order=DOWN, OUT_OF_SERVICE, UP, UNKNOWN_# Comma-separated list of health statuses in order of severity._

# INFO CONTRIBUTORS (InfoContributorProperties)

management.info.build.enabled=true_# Enable build info._

management.info.defaults.enabled=true_# Enable default info contributors._

management.info.env.enabled=true_# Enable environment info._

management.info.git.enabled=true_# Enable git info._

management.info.git.mode=simple_# Mode to use to expose git information._

# REMOTE SHELL (ShellProperties)

management.shell.auth.type=simple_# Authentication type. Auto-detected according to the environment._

management.shell.auth.jaas.domain=my-domain_# JAAS domain._

management.shell.auth.key.path=# Path to the authentication key. This should point to a valid “.pem” file.

management.shell.auth.simple.user.name=user_# Login user._

management.shell.auth.simple.user.password=# Login password.

management.shell.auth.spring.roles=ADMIN_# Comma-separated list of required roles to login to the CRaSH console._

management.shell.command-path-patterns=classpath*:/commands/**,classpath*:/crash/commands/**# Patterns to use to look for commands.

management.shell.command-refresh-interval=-1_# Scan for changes and update the command if necessary (in seconds)._

management.shell.config-path-patterns=classpath*:/crash/*# Patterns to use to look for configurations.

management.shell.disabled-commands=jpa*,jdbc*,jndi*# Comma-separated list of commands to disable.

management.shell.disabled-plugins=# Comma-separated list of plugins to disable. Certain plugins are disabled by default based on the environment.

management.shell.ssh.auth-timeout=# Number of milliseconds after user will be prompted to login again.

management.shell.ssh.enabled=true_# Enable CRaSH SSH support._

management.shell.ssh.idle-timeout=# Number of milliseconds after which unused connections are closed.

management.shell.ssh.key-path=# Path to the SSH server key.

management.shell.ssh.port=2000_# SSH port._

management.shell.telnet.enabled=false_# Enable CRaSH telnet support. Enabled by default if the TelnetPlugin is available._

management.shell.telnet.port=5000_# Telnet port._

# TRACING (TraceProperties)

management.trace.include=request-headers,response-headers,cookies,errors_# Items to be included in the trace._

# METRICS EXPORT (MetricExportProperties)

spring.metrics.export.aggregate.key-pattern=# Pattern that tells the aggregator what to do with the keys from the source repository.

spring.metrics.export.aggregate.prefix=# Prefix for global repository if active.

spring.metrics.export.delay-millis=5000_# Delay in milliseconds between export ticks. Metrics are exported to external sources on a schedule with this delay._

spring.metrics.export.enabled=true_# Flag to enable metric export (assuming a MetricWriter is available)._

spring.metrics.export.excludes=# List of patterns for metric names to exclude. Applied after the includes.

spring.metrics.export.includes=# List of patterns for metric names to include.

spring.metrics.export.redis.key=keys.spring.metrics_# Key for redis repository export (if active)._

spring.metrics.export.redis.prefix=spring.metrics_# Prefix for redis repository if active._

spring.metrics.export.send-latest=# Flag to switch off any available optimizations based on not exporting unchanged metric values.

spring.metrics.export.statsd.host=# Host of a statsd server to receive exported metrics.

spring.metrics.export.statsd.port=8125_# Port of a statsd server to receive exported metrics._

spring.metrics.export.statsd.prefix=# Prefix for statsd exported metrics.

spring.metrics.export.triggers.*=# Specific trigger properties per MetricWriter bean name.

# ----------------------------------------

# DEVTOOLS PROPERTIES

# ----------------------------------------

# DEVTOOLS (DevToolsProperties)

spring.devtools.livereload.enabled=true_# Enable a livereload.com compatible server._

spring.devtools.livereload.port=35729_# Server port._

spring.devtools.restart.additional-exclude=# Additional patterns that should be excluded from triggering a full restart.

spring.devtools.restart.additional-paths=# Additional paths to watch for changes.

spring.devtools.restart.enabled=true_# Enable automatic restart._

spring.devtools.restart.exclude=META-INF/maven/**,META-INF/resources/**,resources/**,static/**,public/**,templates/**,**/*Test.class,**/*Tests.class,git.properties_# Patterns that should be excluded from triggering a full restart._

spring.devtools.restart.poll-interval=1000_# Amount of time (in milliseconds) to wait between polling for classpath changes._

spring.devtools.restart.quiet-period=400_# Amount of quiet time (in milliseconds) required without any classpath changes before a restart is triggered._

spring.devtools.restart.trigger-file=# Name of a specific file that when changed will trigger the restart check. If not specified any classpath file change will trigger the restart.

# REMOTE DEVTOOLS (RemoteDevToolsProperties)

spring.devtools.remote.context-path=/.~~spring-boot!~# Context path used to handle the remote connection.

spring.devtools.remote.debug.enabled=true_# Enable remote debug support._

spring.devtools.remote.debug.local-port=8000_# Local remote debug server port._

spring.devtools.remote.proxy.host=# The host of the proxy to use to connect to the remote application.

spring.devtools.remote.proxy.port=# The port of the proxy to use to connect to the remote application.

spring.devtools.remote.restart.enabled=true_# Enable remote restart._

spring.devtools.remote.secret=# A shared secret required to establish a connection (required to enable remote support).

spring.devtools.remote.secret-header-name=X-AUTH-TOKEN_# HTTP header used to transfer the shared secret._

_

相关文章:

  • k8s 安装 ingress-nginx
  • 【卫朋】产品管理:如何管理项目进度?
  • 超强、超详细Redis入门教程
  • 你还不会写API文档吗
  • Mach-O详解(一) - 破题
  • 今天来说说Java开发中常用的框架有哪些?
  • Three.js对模型进行多区域染色
  • 超全面试汇总——Hadoop(二)
  • Android辅助功能(Accessibility)简介
  • SSM网约车管理系统毕业设计-附源码051630
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • 第11章Linux实操篇-Linux磁盘分区、挂载
  • Kotlin协程:Flow的融合、Channel容量、溢出策略
  • android毕业设计选题基于Uniapp+SSM实现的互联网云数据环境下的供销APP购物商城电商
  • 超级详细的mysql安装和配置教程
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • laravel5.5 视图共享数据
  • Python socket服务器端、客户端传送信息
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何使用 JavaScript 解析 URL
  • 使用SAX解析XML
  • 进程与线程(三)——进程/线程间通信
  • ​HTTP与HTTPS:网络通信的安全卫士
  • #define 用法
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $.ajax()
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (SpringBoot)第二章:Spring创建和使用
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)Eureka服务搭建,服务注册,服务发现
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (过滤器)Filter和(监听器)listener
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转)大型网站架构演变和知识体系
  • (转)一些感悟
  • (转载)从 Java 代码到 Java 堆
  • .net framework profiles /.net framework 配置
  • .NET Framework杂记
  • .ui文件相关
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ACTF2020 新生赛]Include
  • [Android Pro] AndroidX重构和映射
  • [Angular] 笔记 18:Angular Router
  • [CareerCup] 14.5 Object Reflection 对象反射
  • [codevs] 1029 遍历问题
  • [GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练
  • [Java] IDEA Scala环境搭建
  • [JavaWeb]—Spring入门
  • [JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏
  • [LeetCode] Contains Duplicate
  • [NSSCTF 2nd] web刷题记录
  • [python] 基于diagrams库绘制系统架构图