Spring注入问题求教,往指教!
小弟拿到一段代码, 如下。
其他的bean注入都还看得懂,但是为什么storeDao这个bean里面ref了2个catalogDataSource和cacheService.就拿catalogDataSource举例吧:
在class文件中是这样
@Resource(name = "applicationEnvironment")
public void setApplicationEnvironment(String applicationEnvironment) {
this.applicationEnvironment = applicationEnvironment;
LOG.info("set applicationEnvironment=" +
applicationEnvironment);
}
在xml中是这样
private String applicationEnvironment;
<bean id="storeDao" class="xxx.StoreDaoImpl">
<property name="storeDataSource" ref="catalogDataSource" />
<property name="cacheService" ref="cacheService" />
<property name="applicationEnvironment" ref="applicationEnvironment" />
</bean>
<bean id="applicationEnvironment" class="java.lang.String">
<constructor-arg value="${application.environment}" />
</bean>
小弟学艺不精,求教catalogDataSource是哪里来的啊?根本没有这个bean嘛
还有,那个applicationEnvironment的bean怎么解释?
"${application.environment}"是什么意思啊?谢谢了!
------解决方案--------------------
catalogDataSource是哪里来的啊?根本没有这个bean嘛
这个bean可能配置在其他配置文件中
还有,那个applicationEnvironment的bean怎么解释?
"${application.environment}"是什么意思啊?谢谢了!
这个其实就是一个字符串,值等于"${application.environment}"
application.environment也应该是配置文件里面配置的,一般是.property文件
------解决方案--------------------
<bean id="applicationEnvironment" class="java.lang.String">
<constructor-arg value="${application.environment}" />
</bean>
${application.environment} 这个就像c3p0的数据源配置,取配置文件的内容,${url},${name}
@Resource(name="")
指定名字注入