04-- springbootは、設定ファイルを使用SLF4J +ログを読み込み、注意してください

序文

springboot共通設定ファイルはYMLを持ち、プロパティはもちろん、必要に応じて使用することもできるXMLを、2つです。個人的に、私はYML使用して好むので、私はここでは例として、YML使用します。私たちのために多くの作業を行うことができますYMLまたはプロパティ設定ファイルには、私たちは、構成ファイル内の行に彼らと関連する属性値を読みたいです。

YML構文のリファレンス

+アイデアは、ロギングSLF4Jを使用して設定ファイルを読み込み

1、ロンボクプラグインをインストールするためのアイデア(SLF4Jが必要)

ファイル - >設定 - >プラグイン

アイデアを再起動し、ロンボクをインストールして下さい。


2、springbootプロジェクト、その依存関係の導入を作成します

<!-- 使用@ConfigurationProperties-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- lombok依赖 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>


2、application.yml変更

person:
  name: Kobe Bryant
  age: 18
  salary: 1235478.22
  car:
    carName: 奔驰S3200
    carBrand: 奔驰
  hobbit:
    - 篮球
    - singing
    - dancing
  daughters:
    k1: d1
    k2: d2
  birthDate: 1980/01/01
  marriage: true


#时间戳统一转换
spring:
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss

YML構文のリファレンス


3、エンティティクラスを作成します

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Component //导入Spring IOC容器中管理
@ConfigurationProperties(prefix = "person")
@Data
public class Person {
    private String name;
    private int age;
    private double salary;
    private Car car;
    private List<String> hobbit;
    private Map<String, Object> daughters;
    private Date birthDate;
    private Boolean marriage;
}

@ConfigurationProperties(接頭辞= "人")

Beanに、オブジェクト全体にプロファイルをマッピングします。

これは、すべての構成ファイルマッピングを指定@PropertySourceマーク、一緒に使用することができます。

私たちは、ファイル属性のアドレスを指定しない場合、Springbootデフォルトプロパティはにapplication.properties/application.yml読まファイル名。

例えば:

@PropertySource("classpath:xxx.yml")
@ConfigurationProperties(prefix = "person")

それは人の接頭辞プロパティにxxx.ymlマップされます。


Car.java

import lombok.Data;
@Data
public class Car {
    private String carName;
    private String carBrand;
}

PS:@Dataが自動的に実行時にエンティティクラスのgetter、setterメソッド、toStringメソッドを生成されますアノテーションを使用ロンボクの注釈です。

特定の用途ロンボク島を参照してください。


3.コントロールクラスを作成します。


@Slf4j
@RestController
@EnableConfigurationProperties(Person.class)

public class PropertiesController {
    @Autowired
    private Person person;

    @RequestMapping(value="/getProperties")
    public Person getProperties() {
        log.info("/getProperties");
        return person;
    }
}

@EnableConfigurationProperties(Person.class)の役割が有効に注釈フレーズConfigurationPropertiesを作ることです、Personクラスは、春に容器IOCに注入されます。

EnableConfigurationPropertiesについて、コメントSpringBootに、この説明である:@ConfigurationProperties注釈付きBeanの効果的なサポートを提供します。この表記クラスは@ConfigurationProperties豆Springコンテナでアノテートされて注入されるのに便利な方法を提供します。


4、試験

出力プロファイルの内容


INFOレベルのログ

おすすめ

転載: www.cnblogs.com/Jotal/p/11202632.html