Java spring@Value按原样注入
我有一个外部属性文件,其中包含如下sql查询Java spring@Value按原样注入,java,spring,spring-jdbc,Java,Spring,Spring Jdbc,我有一个外部属性文件,其中包含如下sql查询 --- sql.properties --- sql.user.getAll=select * from user sql.user.create=insert into user(username, password) values (:username, :password) sql.user.get=select * from user where username=:username ... @Repository @Property
--- sql.properties ---
sql.user.getAll=select * from user
sql.user.create=insert into user(username, password) values (:username, :password)
sql.user.get=select * from user where username=:username
...
@Repository
@PropertySource( "classpath:sql.properties" )
public class JdbcUserDAO {
@Value("${sql.user.get}")
private String sql_getUser;
}
现在,当我试着像这样用@Value获取这些
--- sql.properties ---
sql.user.getAll=select * from user
sql.user.create=insert into user(username, password) values (:username, :password)
sql.user.get=select * from user where username=:username
...
@Repository
@PropertySource( "classpath:sql.properties" )
public class JdbcUserDAO {
@Value("${sql.user.get}")
private String sql_getUser;
}
这里
sql\u getUser
获取确切的值${sql.user.get}
,因此它显然不会解析我指定的文件。我遗漏了什么?您是否阅读了@PropertySource
的javadoc?您是否知道您的sql.propertiesfile应该位于类路径的根目录下,以使此练习正常工作?它可以找到该文件@SotiriosDelimanolis是对的,它说它应该与@Configuration
一起使用,有趣的是,我已经读过了,但错过了。因此,我还需要另一个带有@Configuration的类,以及一个propertysourcesplaceplaceconfigurer
bean。