我有一个简单的主应用程序:
@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = "dreamteam.eho")
@Import({EhoConfig.class})
public class MainApp implements CommandLineRunner, ApplicationContextAware {
字符串
配置:
@Configuration
@EnableConfigurationProperties({RootProperties.class})
public class EhoConfig {
}
型
和属性:
@ConfigurationProperties("root")
public class RootProperties {
private String name;
型
我尝试加载配置:
--spring.config.location=file:///E:/.../eho-bot/props/ --spring.profiles.active=eho
型
路径是正确的。但是yml没有加载;
application-eho.yml文件:
logging:
file: D:/java/projects/telegram-bots/eho.log
level:
dreamteam.eho: INFO
org.springframework: DEBUG
root:
name: EHO-BOT
型
应用程序使用args运行,但所有props均为null。未应用日志记录属性; sout:
--spring.config.location=file:///E:.../eho-bot/props/
--spring.profiles.active=eho
--spring.output.ansi.enabled=always
型
4条答案
按热度按时间velaa5lx1#
现在你应该用Spring Boot。
字符串
使用webEnvironmet=false和BannerMode=off(控制台应用程序)。
参见https://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html#howto-externalize-configuration
8i9zcol22#
试试这个方法:
遵循应用程序结构,如**:**
字符串
Application.java内容
型
application-eho.yml文件:
型
pdkcd3nj3#
如果你正在使用
PropertySource
注解,那么这是不可能的。默认情况下,它不支持yml文件类型。使用PropertySourceFactory
如下字符串
然后,在属性源注解中引用相同的内容,如下所示:
型
来源:PropertySourceFactory
relj7zay4#
添加
主类中的
@PropertySource("classpath:application.yml")
看看下面的例子:
`
`个