注記レコード->ConfigurationProperties
1988 ワード
もともとこの簡単な注釈は文章だけで書く必要はないと思って、自分でテストして、バグを発見して、やはり書いてみましょう.
正しいコードを先に貼り付けます
異常内容
なぜなら、ネーミングが規範的ではなく、大文字ではなく、小文字を使用して、中線を引くことができるからです.
正しいコードを先に貼り付けます
package com.tianci.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* Create by tianci
* 2019/2/14 17:10
*/
@Data
@ConfigurationProperties(prefix = "mysqlconfig")
@Component
public class MysqlConfig {
private String url;
private String driver;
private String username;
private String password;
}
mysqlconfig:
username: root
password: root
url: jdbc:mysql://localhost:3306/test
driver: com.mysql.jdbc.Driver
package com.tianci.controller;
import com.tianci.config.MysqlConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Create by tianci
* 2019/2/14 17:16
*/
@RestController
public class MysqlController {
@Autowired
private MysqlConfig mysqlConfig;
@GetMapping("/getMysqlConfig")
public void getMysqlConfig() {
System.out.println(mysqlConfig.getUrl());
System.out.println(mysqlConfig.getDriver());
System.out.println(mysqlConfig.getUsername());
System.out.println(mysqlConfig.getPassword());
}
}
//
jdbc:mysql://localhost:3306/test
com.mysql.jdbc.Driver
root
root
異常内容
Description:
Configuration property name 'MysqlConfig' is not valid:
Invalid characters: 'M', 'C'
Bean: mysqlConfig
Reason: Canonical names should be kebab-case ('-' separated), lowercase alpha-numeric characters and must start with a letter
Action:
Modify 'MysqlConfig' so that it conforms to the canonical names requirements.
なぜなら、ネーミングが規範的ではなく、大文字ではなく、小文字を使用して、中線を引くことができるからです.