Spring Boot相关

Documentation

resources文件夹中目录结构

  • static:保存所有的静态资源,如:js css images
  • templates:保存所有的模板页面(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面),可以使用模板引擎(freemarker、thymeleaf)
  • application.yml/application.properties:Spring Boot应用的配置文件,可以修改一些默认设置

 

YAML语法
基本语法

  • k:(空格)v:表示一对键值对(空格必须有),以空格的缩进来控制层级关系,只要是左对齐的一列数据,都是同一个层级的,属性和值大小写敏感

值的写法

  • 字符串默认不用加上单引号或者双引号
  • "":双引号;不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思name: "zhangsan \n lisi",输出;zhangsan 换行 lisi
  • '':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据name: ‘zhangsan \n lisi’,输出;zhangsan \n lisi

 

@Value和@ConfigurationProperties获取配置文件中的值比较

@Component
@ConfigurationProperties(prefix = "person")
@Validated
public class Person {
    //@Email
    //@Value("${person.last‐name}")
    private String lastName;
    //@Value("#{11*2}")
    private Integer age;
    //@Value("true")
    private Boolean boss;

  • 配置文件yml和properties都能获取到值
  • 如果我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value
  • 如果我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties

 

@PropertySource&@ImportResource&@Bean

@PropertySource:加载指定的配置文件

@PropertySource(value = {"classpath:person.properties"})
@Component
public class Person {
    private String lastName;
    private Integer age;
}

@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效

//导入Spring的配置文件让其生效
@ImportResource(locations = {"classpath:beans.xml"})

配置类@Configuration(相当于Spring配置文件)
使用@Bean给容器中添加组件

/**
 * @Configuration:指明当前类是一个配置类,替代Spring配置文件
 */
@Configuration
public class MyAppConfig {
    //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
    @Bean
    public HelloService helloService(){
        System.out.println("配置类@Bean给容器中添加组件了...");
        return new HelloService();
    }
}

 

配置文件占位符

person.name=${random.uuid}
person.age=${random.int}
person.dog.name=${person.name}_dog

 

yml多文档块

server:
  port: 8081
spring:
  profiles:
    active: prod
‐‐‐
server:
  port: 8083
spring:
  profiles: dev
‐‐‐
server:
  port: 8084
spring:
  profiles: prod  #指定属于哪个环境

 

配置文件加载位置
springboot启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件

  • –file:./config/
  • –file:./
  • –classpath:/config/
  • –classpath:/

优先级由高到底,高优先级的配置会覆盖低优先级的配置
SpringBoot会从这四个位置全部加载主配置文件,互补配置
通过spring.config.location改变默认的配置文件位置

 

SLF4j使用

http://www.slf4j.org/

SLF4J user manual

legacy APIs

Hello World

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HelloWorld {
  public static void main(String[] args) {
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值