繁体   English   中英

春季在security-context.xml中使用applicationContext中的bean

[英]Spring use bean from applicationContext in security-context.xml

我有以下条目

web.xml:

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml /WEB-INF/spring-security.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

applicationContext:

<bean id="myUserDAO" class="no.java.UserDAOImpl">
    <property name="DataSource" ref="myDataSource"/>
</bean>

在spring-security.xml中,我输入以下内容:

<beans:bean id="myUserDetailsService" class="no.java.SimpleUserDetailsService" >
            <property name="UserDAO" ref="myUserDAO" />
 </bean>

现在我正在跟随错误

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 13 in XML document from ServletContext resource [/WEB-INF/spring-security.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 56; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'property'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)

据我了解,我应该得到未定义的bean myUserDAO之类的东西或类似的东西,但是我没有。 我非常感谢您提供任何帮助,因为我现在已经花了几个小时享受这个错误。

您的XML格式不正确,这

<beans:bean id="myUserDetailsService" class="no.java.SimpleUserDetailsService" >
    <property name="UserDAO" ref="myUserDAO" />
</bean>

应该

<beans:bean id="myUserDetailsService" class="no.java.SimpleUserDetailsService" >
    <beans:property name="UserDAO" ref="myUserDAO" />
</beans:bean>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM