日期:2014-05-20  浏览次数:20882 次

spring 中bean的注入问题,急救,谢谢
我想用spring的Excel、PDF视图技术做导出,配置文件是这样的:
Java code

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <import resource="classpath*:META-INF/danlong/config/applicationContext-*.xml,
          /WEB-INF/config/applicationContext-*.xml" />
          
    <bean id="beanNameViewResolver"
        class="org.springframework.web.servlet.view.BeanNameViewResolver" />
        
         
    <bean id="viewController" class="com.shihua.danlong.common.excel.ViewController" />
    
 
    <bean name="/traderecords/tradeRecordsViewController" abstract="true"> 
        <property name="tradeRecordsManager">
            <ref bean="traderecords.tradeRecordsManager"/>
        </property>    
    </bean>        


    
    <bean id="tradeRecordsViewController" 
        class="com.shihua.danlong.myarea.traderecords.action.TradeRecordsViewController" parent="/traderecords/tradeRecordsViewController"/>

    <bean id="urlMapping"
        class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/view*.shtml">viewController</prop>
                <prop key="/tradeRecordsView*.shtml">tradeRecordsViewController</prop>
            </props>
        </property>
    </bean>    
</beans>




我的目的是要在tradeRecordsViewController中注入“/traderecords/tradeRecordsViewController” beng,而traderecords/tradeRecordsViewController引用的是在/WEB-INF/config/applicationContext-*.xml中定义的,
我import也没有用,请问该如何处理


------解决方案--------------------
只要符合applicationContext-*.xml命名不存在不能引用的问题吧;包名是在所在文件指定的,和import有什么关系?
------解决方案--------------------
才开始学习WEB JAVA,
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/config.xml,其他的XML文件URL" />
</plug-in>
如果我理解错误请不要见怪~谢谢
------解决方案--------------------
我也是在初学STRUTS,在书上看到过,如果导出图像资料的话,需要在WEB.XML中配置一下的吧。
<mime-mapping>
<extension>XXX</extension>
<mime-type>XXXX/XXX</mime-type>
</mime-mapping>


------解决方案--------------------
tradeRecordsViewController引用其他BEAN只要进行配置就行了
<bean id="tradeRecordsViewController" 
class="com.shihua.danlong.myarea.traderecords.action.TradeRecordsViewController" parent="/traderecords/tradeRecordsViewController">
<!--如下引入需要的BEAN-->
<property name="tradeRecordsManager">
<ref bean="traderecords.tradeRecordsManager"/>
</property>
</bean>
在controller就可以通过GET获得改BEAN。
这些配置文件META-INF/danlong/config/applicationContext-*.xml,/WEB-INF/config/applicationContext-*.xml可以在web.xml里配置,如:
<!-- Spring 配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dataAccessContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>
系统启动时就进行加载。

------解决方案--------------------