我使用Spring(没有弹簧启动)。我想构建可使用默认配置(资源文件夹中的logback.xml
和application.properties
)或-Dconfig.folder=/path/to/custom/external/directory
(logback.xml
和application.properties
in/path/to/custom/external/directory)运行的独立应用程序。当使用-Dconfig.folder参数运行应用程序参数AppConfig
应该从外部目录加载logback和属性。外部化属性和logback春天
是否有任何使外部文件夹像资源文件夹一样行事?
如果没有,这是什么常见的解决方案?
我当前实现(使用默认的资源文件夹只):
App.java
public class App {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
SampleAction p = context.getBean(SampleAction.class);
p.performTask();
}
}
AppConfig.java
@ComponentScan
@PropertySource("classpath:application.properties")
class AppConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
SampleAction.java
@Component
public class SampleAction {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Value("${sample.prop}")
private String sampleProp;
public void performTask(){
logger.debug(sampleProp);
}
}
logback.xml和application.properties是不相关的问题
难道我满意的回答你的问题?如果是,请随时接受。如果不是,请解释为什么不能让我改进答案。 –
我在一天前添加了一条评论,关于我缺少的内容:)基本上,我不知道在哪里放置该Java代码的InputStream配置,以便让我的logback配置可用asap – ilovkatie
请参阅我的编辑。如果你对Spring一无所知,你需要先做好功课。当你遇到特殊问题时,我们会尽力帮助你,我们不会做你的工作。 –