2017-05-20 20 views
0

Maven WebアプリケーションにSpringセキュリティを使用しており、認証処理のためのspring-security.xmlファイルを作成しました。そこでは、別のファイルBeans.xmlからインポートを使用して1つのBeanをインポートしようとしています。私がこれをしたとき、次のエラーが発生しました。一致するワイルドカードは厳密ですが、 'import'要素の宣言が見つかりません

マッチングワイルドカードは、厳密であるが、何の宣言は、要素 'インポート'

beans.xmlのために見つけることができない。ここで

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE xml> 
<beans xmlns = "http://www.springframework.org/schema/beans" 
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation = "http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans.xsd"> 

    <bean id = "dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name = "driverClassName" value = "com.mysql.jdbc.Driver"/> 
     <property name = "url" value = "jdbc:mysql://localhost:3306/Employee_Management"/> 
     <property name = "username" value = "root"/> 
     <property name = "password" value = "root"/> 
    </bean> 

    <bean id = "transactionManager" 
     class = "org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name = "dataSource" ref = "dataSource" /> 
    </bean> 

    <bean id = "employeeJDBCTemplate" class = "com.utility.EmployeeJDBCTemplate"> 
    <property name = "dataSource" ref = "dataSource" /> 
    <property name = "transactionManager" ref = "transactionManager"/> 
    </bean> 

    <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name = "prefix" value = "/WEB-INF/jsp/" /> 
     <property name = "suffix" value = ".jsp" /> 
    </bean> 

</beans> 

ばねのsecurity.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/security 
    http://www.springframework.org/schema/security/spring-security.xsd"> 

    <import resource="Beans.xml"/> 

    <http entry-point-ref="loginUrlAuthenticationEntryPoint" auto-config="true" authentication-manager-ref="authenticationManager"> 
     <intercept-url pattern="/j_spring_security_check" access="isAnonymous()"/> 
     <intercept-url pattern="/login" access="isAnonymous()"/> 
     <intercept-url pattern="/welcome" access="hasRole('ROLE_ADMIN')"/> 
     <form-login login-processing-url="/j_spring_security_check" login-page="/login" default-target-url="/welcome" 
      authentication-failure-url="/login?error" username-parameter="username" 
      password-parameter="password" /> 
     <logout logout-url="/j_spring_security_logout" invalidate-session="true" logout-success-url="/login?logout"/> 
    </http> 

    <beans:bean id="employeeAuthenticationProvider" class="com.authentication.EmployeeAuthenticationProvider"> 
     <beans:property name="employeeJDBCTemplate" ref="employeeJDBCTemplate" /> 
    </beans:bean> 

    <authentication-manager alias="authenticationManager"> 
     <authentication-provider ref="employeeAuthenticationProvider"/> 
    </authentication-manager> 

    <beans:bean id="loginUrlAuthenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint"> 
     <beans:constructor-arg value="/login"/> 
    </beans:bean> 
</beans:beans> 

Iが持っていますインポートされたbeanファイルから "employeeJDBCTemplate" beanを使用しました。しかし、importタグはエラーを生成します。 spring-security.xmlとBeans.xmlは同じフォルダにあります。またBeans.xmlファイルをresourcesフォルダに移動してみました。それでも私は同じエラーが発生しています。使用されるSpringバージョンは4.3.4で、Springセキュリティバージョンは4.2.0です。助けてください。

答えて

0

spring-security.xmlでは、デフォルトの名前空間はhttp://www.springframework.org/schema/security( 'security'名前空間)で、http://www.springframework.org/schema/beans( 'beans'名前空間)ではありません。 import要素は 'beans'名前空間で定義されているため、アクセスするには<import>の接頭辞をbeans:とする必要があります。

<beans:import resource="Beans.xml"/> 

代わりの

<import resource="Beans.xml"/> 
をお試しください
関連する問題