spring配置属性的两种方式
2016-06-16 16:56
453 查看
spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签
第二种方式通过创建bean,对应类为PropertyPlaceholderConfigurer
第一种方式精短易读,第二种方式更通用,不搞特权,各有各的好处.
经过测试,这两种方式都是可以获取属性文件中的属性的.
然而,却有一个这样的bug,至今不明其理.下面列出2个文件:
文件1
使用这个文件的属性时,当然要用${jdbc.driver}这种形式
文件2
context方式引入属性文件,无法与文件2搭配,但可以与文件1搭配
bean方式引入属性文件,都可以搭配
context与文件2搭配报错
<context:property-placeholder location="classpath:jdbctemplate/jdbc.properties" />
第二种方式通过创建bean,对应类为PropertyPlaceholderConfigurer
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:jdbc.properties" /> </bean>
第一种方式精短易读,第二种方式更通用,不搞特权,各有各的好处.
经过测试,这两种方式都是可以获取属性文件中的属性的.
然而,却有一个这样的bug,至今不明其理.下面列出2个文件:
文件1
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test jdbc.username=root jdbc.password=haha
使用这个文件的属性时,当然要用${jdbc.driver}这种形式
文件2
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username=root password=haha
context方式引入属性文件,无法与文件2搭配,但可以与文件1搭配
bean方式引入属性文件,都可以搭配
context与文件2搭配报错
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Access denied for user 'weidiao'@'localhost' (using password: YES) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:390) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:470) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:480) at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:501) at jdbctemplate.UserDao.getAllUserNames(UserDao.java:31) at jdbctemplate.Main.main(Main.java:12) Caused by: java.sql.SQLException: Access denied for user 'weidiao'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)
相关文章推荐
- Java读写Excel之POI超入门
- Spring MVC测试框架详解——服务端测试
- java ArrayList与Vector
- JAVA 带缓存的输入/输出流
- 深入理解Java序列化
- Spring定时任务的几种实现
- java异常处理三——怎么处理异常
- java异常处理二——try-catch-finally执行顺序
- 包含min函数的栈---重写栈实现特定的功能
- [Nutch]问题解决:Exception in thread "main" java.io.IOException: Job failed
- spring aop动态代理
- java正则替换字符串的高级应用
- 通过spring JaxWsPortProxyFactoryBean调用webservice接口
- spring 框架学习(四) 注解
- WebService学习——使用CXF编写WebService客户端
- Spring 4.0 StandaloneMockMvcBuilder java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfi
- Java多线程-Executor框架:CompletionService
- 记录java接口开发
- [Nutch]问题解决:Exception in thread "main" java.io.IOException: Failed to set permissions of path
- Java Web 中replace与replaceAll的区别