Spring启动 - 无法使用@Value注释

时间:2017-01-27 09:27:16

标签: java spring

我正在尝试使用@Value根据配置文件从application.properties加载一些值,但有些东西不起作用......

在我的application.properties中我有

spring.datasource.url=@jdbc.url@

我有

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

在我的pom.xml中。编译时,我看到我的application.properties具有正确的jdbc.url值

然后我想在连接到数据库时使用此属性

 @Value("${jdbc.url}") 
    private String dbUrl;

        @PostConstruct
        public Connection getConnection(){

                Class.forName("com.mysql.jdbc.Driver");
                return DriverManager.getConnection(dbUrl, "user", "xxxxxxx");
            }

但dbUrl为null ... 我需要别的吗?

2 个答案:

答案 0 :(得分:1)

你应该加载这样的值:

@Value("${spring.datasource.url}") 
private String dbUrl;

答案 1 :(得分:0)

也许您需要在插件中指定分隔符。

 <configuration>
    <delimiters>
        <delimiter>@</delimiter>
    </delimiters>
    <useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>