springBoot配置文件

SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。

SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件

其中,application.properties文件是键值对类型的文件,除了properties文件外,SpringBoot还可以使用yml文件进行配置。

YML文件

YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,

并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。

YML文件是以数据为核心的,比传统的xml方式更加简洁。YML文件的扩展名可以使用.yml或者.yaml。

配置普通数据

语法:

key: value

比如

name: zhangsan

注意:和value之前有一个空格

配置对象数据

语法:

key:
​   key1: value1
​   key2: value2

或者:

​key: {key1: value1,key2: value2}

比如:

person:name: haohaoage: 31addr: beijing

或者

person: {name: haohao,age: 31,addr: beijing}

我们在application.properties的配置可以改为application.yml的:

server:
port: 8082
servlet:
context-path: /newName

配置数据、集合(普通字符串)

集合中的数据为字符串

city:- beijing- tianjin- chongqing- shanghai

或者行内配置

city: [beijing,tianjin,chongqing,shanghai]

配置数据、集合(对象数据)

集合中的数据为对象

student:- name: tomage: 18addr: beijing- name: lucyage: 17addr: tianjin

或者行内配置

student: [{name: tom,age: 18,addr: beijing},{name: lucy,age: 17,addr: tianjin}]

Map配置

map:key1: value1key2: value2

获取配置文件中的数据

使用@Value注解

不需要getter和setter方法

@Controller
public class QuickValueController {@Value("${name}")private String name;@Value("${person.addr}")private String addr;@RequestMapping("/quick2")@ResponseBodypublic String Quick() {System.out.println(name);System.out.println(addr);return "name:" + name + " addr:" + addr;}
}

使用@ConfigurationProperties注解

需要getter和setter方法

@Controller
@ConfigurationProperties(prefix = "person")
public class QuickConfigurationPropertiesController {private String name;private Integer age;private String addr;@RequestMapping("/quick3")@ResponseBodypublic String Quick() {System.out.println(name);System.out.println(addr);return "name:" + name + " age:" + age + " addr:" + addr;}
}

SpringBoot整合Mybatis

mybatis起步依赖

<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>

添加数据库连接信息(在application.properties)

#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

创建实体 domain.User

在resources目录下创建UserMapper.xml

创建持久化接口 mapper.UserMapper

在application.properties配置

pojo别名扫描包

mybatis.type-aliases-package=cn.figo.domain

加载Mybatis映射文件

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

写controller类

@Controller
public class MybatisController {@Autowiredprivate UserMapper userMapper;@RequestMapping("/query")@ResponseBodypublic List<User> queryUserList(){List<User> users = userMapper.queryUserList();return users;}}

结果如下:

集成junit

测试的起步依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootCombineOtherApplication.class)
public class MybatisTest {@Autowiredprivate UserMapper userMapper;@Testpublic void test(){List<User> users = userMapper.queryUserList();System.out.println(users);}
}

结果如下:

集成SpringDataJpa

springBoot JPA的起步依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

jdk9需要导入如下坐标

<dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.0</version>
</dependency>

给实体类加jap注解

添加jpa的持久化接口

public interface UserRepository extends JpaRepository<User,Long> {public List<User> findAll();}

在spring配置文件中加jpa配置

#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

然后测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootCombineOtherApplication.class)
public class JpaTest {@Autowiredprivate UserRepository userRepository;@Testpublic void test(){List<User> all = userRepository.findAll();System.out.println(all);}
}

结果如下;

集成redis

配置使用redis启动器

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

在spring配置文件中加redis配置

#Redis
spring.redis.host=127.0.0.1
spring.redis.port=6379

测试:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootCombineOtherApplication.class)
public class RedisTest {@Autowiredprivate UserRepository userRepository;@Autowiredprivate RedisTemplate<String, String> redisTemplate;@Testpublic void test() throws JsonProcessingException {//从redis缓存中获得指定的数据String userListData = redisTemplate.boundValueOps("user.findAll").get();//如果redis中没有数据的话if(null==userListData){//查询数据库获得数据List<User> all = userRepository.findAll();//转换成json格式字符串ObjectMapper om = new ObjectMapper();userListData = om.writeValueAsString(all);//将数据存储到redis中,下次在查询直接从redis中获得数据,不用在查询数据库redisTemplate.boundValueOps("user.findAll").set(userListData);System.out.println("===============从数据库获得数据===============");}else{System.out.println("===============从redis缓存中获得数据===============");}System.out.println(userListData);}
}

结果如下

yml不识别_SpringBoot(2):yml配置文件和集成其他框架相关推荐

  1. yml配置oracle连接,springboot yml 文件配置oracle,提示账号密码错误

    最近使用Spring boot,本来一直连接的是mysql数据库,一直没问题.昨天在更换了oracle数据库后,一直提示账号密码不正确,登录被拒绝.检查多次,检查账号密码一切正常,但就是连接不上ora ...

  2. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...

  3. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例

    本篇文章小编给大家分享一下springboot的yml配置文件通过db2的方式整合mysql代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. s ...

  4. .net后台怎么提取html中的多个图片的绝对地址_SpringBoot中yml配置文件说明和一些常用配置项说明...

    1. 配置文件说明 Springboot启动默认扫描的配置为classes目录下的application.yml 或者是 application.properties 我们项目中是使用的yml格式的配 ...

  5. Destoon数据库配置文件在哪_SpringBoot中yml配置文件说明和一些常用配置项说明

    1. 配置文件说明 Springboot启动默认扫描的配置为classes目录下的application.yml 或者是 application.properties 我们项目中是使用的yml格式的配 ...

  6. Go语言读取解析yml文件,快速转换yml到go struct

    YAML (YAML Ain't a Markup Language)是一种标记语言,通常以.yml为后缀的文件,是一种直观的能够被计算机程序识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交 ...

  7. yml转properties, properties转yml,在线转换工具

    yml properties 互转,在线转换工具 http://toyaml.com/

  8. c++读取txt文件中的数字_SpringBoot 多种读取配置文件中参数的方式

    点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/61/ . 一.简介 . 1.SpringBoot ...

  9. springboot 配置全局响应数据_SpringBoot如何读取配置文件参数并全局使用

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 【JMAIL】jmail无法收邮件问题
  2. 一生应该感谢的十种人
  3. java documentlistener_java在DocumentListener中更改文档
  4. 42_ResNet (深度残差网络)---学习笔记
  5. Nginx正向代理实现
  6. TypeScript reflect-metadata 结合方法装饰器实现的一个自定义语法检查的例子
  7. solr 查询字段唯一值_《Solr实战》之一
  8. 云原生自动监控报警系统Prometheus
  9. U890采购入库单修改供应商
  10. 《微观经济学》第八章 博弈论与寡头市场初步笔记
  11. 非遗在线商城小程序(后台PHP开发)
  12. 原创 | 全网最实在的docker入门教程一
  13. python PIL库中的getpixel函数
  14. 洛阳理工学院linux实验报告,谁来给我抄实验报告啊!这一张又一张写得。。。。...
  15. 浮点型数据判断相等不能直接使用==
  16. Praat将连续录制的声音文件切成小单位文件
  17. 全世界正在被软件占领
  18. 通信网络与IP网络知识梳理
  19. 阿里新一代Rank技术
  20. xhr是什么缩写_微博上xhr和fsr是什么意思 饭圈里指黄新淳毕雯珺

热门文章

  1. java如何做到判断一个字符串是否是数字
  2. JsCV Core v0.2发布 Javascript图像处理系列目录
  3. Android 数据库基本操作-2
  4. (电影播放器)MPMoviePlayerController
  5. Hibernate two table same id
  6. 支持全球探测点的新一代网站监控
  7. 成为黑客之前的语言准备清单
  8. mysq中文编码问题
  9. 22、输入和输出重定向,管道,命令连接符,命令替换符
  10. Java记录 -55- Set下的HashSet