如何在Spring的共享jar中导入属性文件?

成员之声

我想创建一个共享的项目jar,其中包含一些服务。这些服务应利用属性文件。

理想情况下,稍后我只是想在将共享jar添加为其他项目的依赖项时使用这些服务。我不想进行任何其他配置,例如导入共享属性文件等。

在共享jar中,我想使用注入属性Spring但是我该怎么办呢?

project-commons / src / main / java:

@Service
public class MyService {
    @Value("${property.value}") private String value;

    public String getValue() {
        return value;
    }
}

project-commons / src / main / resources / application.properties:

property.value=test

project-web / src / main / java:

@Component
public class SoapService {
    @Autowired
    private MyService service;

    //should return "test"
    public String value() {
        return service.getValue();
    }
}

当我运行它时:

Illegal character in path at index 1: ${property.value}

因此,无法解析属性文件。但是,当使用适当的服务时,如何告诉spring自动使用它呢?

成员之声

感谢Hank Lapidez的评论,添加以下语句解决了该问题:

@Configuration
@PropertySource("classpath:appdefault.properties")
public CommonConfig {
    @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档