spring容器实例化bean时,如果获取不到property的value,如何不抛出异常

绝望的奶黄包 2017-09-08 01:39:22
举个栗子
类似于spring中读取数据库配置信息
<bean id="dataSource" class="com.XXX.XXX.XXX.DataSource">
<property name="username" value="${jdbc.user}"/>
<property name="password" value="${jdbc.password}"/>
</bean>

从config.properties文件中读取对应的jdbc.user,jdbc.password。
如果配置文件中添加
jdbc.user=
jdbc.password=
配置空着是不会出错的
但是如果没有配置时,会出现
Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSource' defined in URL

请问如何在没有配置时也能像
jdbc.user=
jdbc.password=
一样完成初始化。
...全文
453 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
绝望的奶黄包 2017-09-08
  • 打赏
  • 举报
回复
上面的是个例子,我希望实现的是在config.properties文件读取不到配置时也能完成bean的初始化 即 #jdbc.user= #jdbc.password= 和 jdbc.user= jdbc.password= 效果一样,上面代表一种读取不到配置的情况 实际的应用场景是我在新的版本中添加微信模块,所以配置文件中添加了微信的配置,但是部分用户时不需要这个模块的,所以不必修改配置文件。导致系统无法正常启动。给所有用户添加上空的配置也是可以的,但我希望寻找一个更好的解决方案

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧