Четыре основных способа чтения файлов конфигурации SpringBoot (новые более мощные методы чтения)

Java

Читает конфигурацию Prapplboot Profile из четырех способов (более мощный новый способ чтения)

1. Используйте значение ($ {}) аннотацию в аннотации компонентов

@Data
@Component
public class ApplicationProperty {
    @Value("${application.name}")
	private String name;
}

Этот метод может автоматически считывать значения конфигурации в текущем файле конфигурации application.yml или application.properties.

Отличие в том, что китайская кодировка поддерживается при чтении yml-файлов, а peoperties нужно перекодировать

2. Используйте аннотацию @ConfigurationProperties (префикс = «разработчик»).

@Data
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
	private String name;
	private String website;
	private String qq;
	private String phoneNumber;
}

Этот метод напрямую добавляет к загруженному в данный момент файлу конфигурации yml префикс атрибутов разработчика.

читать имя разработчика...

Введение зависимости в файле POM

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
</dependency>

3. Как использовать первые две чтения конфигурации

//使用方法
private final ApplicationProperty applicationProperty;
private final DeveloperProperty developerProperty;

@Autowired
	public PropertyController(ApplicationProperty applicationProperty, DeveloperProperty developerProperty) {
		this.applicationProperty = applicationProperty;
		this.developerProperty = developerProperty;
	}

@GetMapping("/property")
	public Dict index() {
        System.out.println("name:"+applicationProperty.getName());
        System.out.println("version:"+applicationProperty.getVersion());
        System.out.println("DevName:"+applicationProperty.getDeveloperName());
	}

4. Используйте Hutool для чтения файла конфигурации (формат yml не поддерживается)

1. Читайте в стиле реквизита

static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);

2. Используйте метод настройки, чтобы прочитать

static Setting setting = new Setting("application-dev.yml", CharsetUtil.CHARSET_UTF_8,true);

3. Прочтите файл конфигурации

public class Constant {
    
    static Props props1 = new Props("application.properties",CharsetUtil.CHARSET_UTF_8);

    static Setting setting = new Setting("application-dev.properties", CharsetUtil.CHARSET_UTF_8,true);

    public static final String Name ;
    public static final String SettingName ;

    static {
        Name = props.getStr("application.name");
        SettingName = setting.getByGroup("name","application");

    }
}

4. Как использовать

System.out.println(Constant.DevName+"------"+Constant.DevWebsite);

Вы можете использовать свойства этого класса напрямую, вызвав константный класс

5. Используйте аннотацию @PropertySource для чтения файла конфигурации (поддерживаются файлы конфигурации всех форматов).

@Configuration
@Component
@PropertySource(value = {"application.yml"})
@Data
public class ApplicationProperty_PropertySource {
	@Value("${server.port}")
	private String port;

	@Value("${spring.profiles.active}")
	private String active;

}

Непосредственно используйте аннотацию @PropertySource для чтения любого файла конфигурации в classPath или для чтения пути, отличного от classPath, который можно настроить. Использование такое же, как описано выше. Вы можете использовать зависимости в структуре Spring.