我正在尝试通过参考本教程来建立登录门户:
http://www.mkyong.com/spring-security/spring-security-form-login-using-database/
但是我希望使用Microsoft SQL Server代替MySQL,所以做了一些更改:
spring-database.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-3.0.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url"
value="jdbc:sqlserver://localhost:1433;integratedSecurity=true;databaseName=test" />
<!-- <property name="username" value="root" /> <property name="password"
value="password" /> -->
</bean>
</beans>
然后我在尝试运行项目时遇到了这个问题:
17:20:47,680错误[org.springframework.web.context.ContextLoader] (ServerService线程池-132)上下文初始化失败: org.springframework.beans.factory.BeanCreationException:错误 创建名称为“ org.springframework.security.filterChains”的bean: 无法解析对bean的引用 'org.springframework.security.web.DefaultSecurityFilterChain#0'而 用键[0]设置bean属性“ sourceList”;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.DefaultSecurityFilterChain#0': 无法解析对bean的引用 'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0' 用键[4]设置构造函数参数时;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0': 无法解析对bean的引用 'org.springframework.security.authentication.ProviderManager#0'而 设置bean属性“ authenticationManager”;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.authentication.ProviderManager#0': 无法解析对bean的引用 'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0' 设置构造函数参数时;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0': FactoryBean在对象创建时引发异常;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.authenticationManager':无法解析 引用bean 'org.springframework.security.authentication.dao.DaoAuthenticationProvider#0' 同时使用键[0]设置构造函数参数;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.authentication.dao.DaoAuthenticationProvider#0': 无法解析对bean的引用 'org.springframework.security.provisioning.JdbcUserDetailsManager#0' 设置bean属性'userDetailsService'时;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 用名字创建bean 'org.springframework.security.provisioning.JdbcUserDetailsManager#0': 设置bean时无法解析对bean'dataSource'的引用 属性“ dataSource”;嵌套异常为 org.springframework.beans.factory.BeanCreationException:错误 创建在ServletContext中定义的名称为“ dataSource”的bean 资源[/WEB-INF/spring-database.xml]:设置属性时出错 价值观嵌套异常为 org.springframework.beans.PropertyBatchUpdateException;嵌套的 PropertyAccessExceptions(1)是:PropertyAccessException 1: org.springframework.beans.MethodInvocationException:属性 'driverClassName'引发异常;嵌套异常为 java.lang.IllegalStateException:无法加载JDBC驱动程序类 [com.microsoft.sqlserver.jdbc.SQLServerDriver]
那我想我应该专注于此:
org.springframework.beans.MethodInvocationException:属性 'driverClassName'引发异常;嵌套异常为 java.lang.IllegalStateException:无法加载JDBC驱动程序类 [com.microsoft.sqlserver.jdbc.SQLServerDriver]
问题是我在项目中包含了JDB Cdriver,但是为什么显示此错误?
我正在使用wildfly 14.0.1作为服务器。