java - No setter found for property 'dataSource' in class 'org.springframework.security.provisioning.JdbcUserDetailsManager' -


hi new spring. trying implement spring security spring web mvc. tried user repository application works fine when try authenticate user using database.

i below error. not getting why problem there though have datasource defined in root-context.xml

no setter found property 'datasource' in class   'org.springframework.security.provisioning.jdbcuserdetailsmanager' [config set: firstapp/web-context] 

here pom.xml

    <modelversion>4.0.0</modelversion>     <groupid>com.shivaji</groupid>     <artifactid>testapp</artifactid>     <name>firstapp</name>     <packaging>war</packaging>     <version>1.0.0-build-snapshot</version>     <properties>         <java-version>1.6</java-version>         <org.springframework-version>4.1.7.release</org.springframework-version>         <org.aspectj-version>1.6.10</org.aspectj-version>         <org.slf4j-version>1.6.6</org.slf4j-version>      </properties>     <dependencies>         <!-- spring -->         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-context</artifactid>             <version>${org.springframework-version}</version>             <exclusions>                 <!-- exclude commons logging in favor of slf4j -->                 <exclusion>                     <groupid>commons-logging</groupid>                     <artifactid>commons-logging</artifactid>                 </exclusion>             </exclusions>         </dependency>         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-webmvc</artifactid>             <version>${org.springframework-version}</version>         </dependency>          <dependency>             <groupid>org.springframework.security</groupid>             <artifactid>spring-security-web</artifactid>             <version>4.0.1.release</version>         </dependency>         <dependency>             <groupid>org.springframework.security</groupid>             <artifactid>spring-security-config</artifactid>             <version>4.0.1.release</version>         </dependency>           <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-tx</artifactid>             <version>${spring-framework.version}</version>         </dependency>          <!-- spring jdbc support -->         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-jdbc</artifactid>             <version>${spring-framework.version}</version>         </dependency>          <!-- aspectj -->         <dependency>             <groupid>org.aspectj</groupid>             <artifactid>aspectjrt</artifactid>             <version>${org.aspectj-version}</version>         </dependency>          <!-- logging -->         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-api</artifactid>             <version>${org.slf4j-version}</version>         </dependency>         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>jcl-over-slf4j</artifactid>             <version>${org.slf4j-version}</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-log4j12</artifactid>             <version>${org.slf4j-version}</version>             <scope>runtime</scope>         </dependency>         <dependency>             <groupid>log4j</groupid>             <artifactid>log4j</artifactid>             <version>1.2.15</version>             <exclusions>                 <exclusion>                     <groupid>javax.mail</groupid>                     <artifactid>mail</artifactid>                 </exclusion>                 <exclusion>                     <groupid>javax.jms</groupid>                     <artifactid>jms</artifactid>                 </exclusion>                 <exclusion>                     <groupid>com.sun.jdmk</groupid>                     <artifactid>jmxtools</artifactid>                 </exclusion>                 <exclusion>                     <groupid>com.sun.jmx</groupid>                     <artifactid>jmxri</artifactid>                 </exclusion>             </exclusions>             <scope>runtime</scope>         </dependency>          <!-- @inject -->         <dependency>             <groupid>javax.inject</groupid>             <artifactid>javax.inject</artifactid>             <version>1</version>         </dependency>          <!-- servlet -->         <dependency>             <groupid>javax.servlet</groupid>             <artifactid>servlet-api</artifactid>             <version>2.5</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>javax.servlet.jsp</groupid>             <artifactid>jsp-api</artifactid>             <version>2.1</version>             <scope>provided</scope>         </dependency>         <dependency>             <groupid>javax.servlet</groupid>             <artifactid>jstl</artifactid>             <version>1.2</version>         </dependency>          <!-- jackson -->         <dependency>             <groupid>org.codehaus.jackson</groupid>             <artifactid>jackson-mapper-asl</artifactid>             <version>1.8.5</version>         </dependency>          <!-- test -->         <dependency>             <groupid>junit</groupid>             <artifactid>junit</artifactid>             <version>4.7</version>             <scope>test</scope>         </dependency>          <dependency>             <groupid>javax.validation</groupid>             <artifactid>validation-api</artifactid>             <version>1.0.0.ga</version>         </dependency>          <dependency>             <groupid>org.hibernate</groupid>             <artifactid>hibernate-validator</artifactid>             <version>4.2.0.final</version>         </dependency>          <dependency>             <groupid>com.h2database</groupid>             <artifactid>h2</artifactid>             <version>1.4.187</version>         </dependency>          <dependency>             <groupid>commons-dbcp</groupid>             <artifactid>commons-dbcp</artifactid>             <version>1.4</version>         </dependency>       </dependencies>     <build>         <plugins>             <plugin>                 <artifactid>maven-eclipse-plugin</artifactid>                 <version>2.9</version>                 <configuration>                     <additionalprojectnatures>                         <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>                     </additionalprojectnatures>                     <additionalbuildcommands>                         <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>                     </additionalbuildcommands>                     <downloadsources>true</downloadsources>                     <downloadjavadocs>true</downloadjavadocs>                 </configuration>             </plugin>             <plugin>                 <groupid>org.apache.maven.plugins</groupid>                 <artifactid>maven-compiler-plugin</artifactid>                 <version>2.5.1</version>                 <configuration>                     <source>1.6</source>                     <target>1.6</target>                     <compilerargument>-xlint:all</compilerargument>                     <showwarnings>true</showwarnings>                     <showdeprecation>true</showdeprecation>                 </configuration>             </plugin>             <plugin>                 <groupid>org.codehaus.mojo</groupid>                 <artifactid>exec-maven-plugin</artifactid>                 <version>1.2.1</version>                 <configuration>                     <mainclass>org.test.int1.main</mainclass>                 </configuration>             </plugin>         </plugins>     </build> </project> 

my web.xml below

    <!-- definition of root spring container shared servlets          , filters -->     <!-- <context-param> <param-name>contextconfiglocation</param-name> <param-value>/web-inf/spring/root-context.xml</param-value>          </context-param> -->     <context-param>         <param-name>contextconfiglocation</param-name>         <param-value>         /web-inf/spring/appservlet/spring-security.xml         /web-inf/spring/root-context.xml         </param-value>     </context-param>     <!-- creates spring container shared servlets , filters -->     <listener>         <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>     </listener>      <!-- processes application requests -->     <servlet>         <servlet-name>appservlet</servlet-name>         <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>         <init-param>             <param-name>contextconfiglocation</param-name>             <param-value>/web-inf/spring/appservlet/servlet-context.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>      <servlet-mapping>         <servlet-name>appservlet</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping>     <filter>         <filter-name>springsecurityfilterchain</filter-name>         <filter-class>org.springframework.web.filter.delegatingfilterproxy</filter-class>     </filter>      <filter-mapping>         <filter-name>springsecurityfilterchain</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping>    </web-app> 

my root-context.xml below

<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      http://www.springframework.org/schema/security     http://www.springframework.org/schema/security/spring-security-3.0.xsd">      <!-- root context: defines shared resources visible other web components -->     <bean id="org.h2.tools.server" class="org.h2.tools.server"         factory-method="createtcpserver" init-method="start" destroy-method="stop">         <constructor-arg value="-tcp,-tcpallowothers,-tcpport,8043" />     </bean>     <bean id="h2webserver" class="org.h2.tools.server" factory-method="createwebserver"         init-method="start" destroy-method="stop">         <constructor-arg value="-web,-weballowothers,-webport,8082" />     </bean>       <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource">         <property name="driverclassname" value="org.h2.driver" />         <property name="url" value="jdbc:h2:~/test" />         <property name="username" value="sa" />         <property name="password" value="sa" />         <property name="initialsize" value="5" />         <property name="maxactive" value="10" />     </bean>  </beans> 

spring-security.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"     xmlns:beans="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     http://www.springframework.org/schema/security     http://www.springframework.org/schema/security/spring-security.xsd">      <http auto-config="true" use-expressions="true">         <intercept-url pattern="/**" access="hasrole('role_user')" />         <form-login />         <http-basic/>         <logout/>     </http>      <authentication-manager>         <authentication-provider >           <jdbc-user-service data-source-ref="datasource"/>         </authentication-provider>     </authentication-manager>    </beans:beans> 

servlet-context.xml

<?xml version="1.0" encoding="utf-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xmlns:beans="http://www.springframework.org/schema/beans"     xmlns:context="http://www.springframework.org/schema/context"     xsi:schemalocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">      <!-- dispatcherservlet context: defines servlet's request-processing infrastructure -->      <!-- enables spring mvc @controller programming model -->     <annotation-driven />      <!-- handles http requests /resources/** efficiently serving static resources in ${webapproot}/resources directory -->     <resources mapping="/resources/**" location="/resources/" />      <!-- resolves views selected rendering @controllers .jsp resources in /web-inf/views directory -->     <beans:bean class="org.springframework.web.servlet.view.internalresourceviewresolver">         <beans:property name="prefix" value="/web-inf/views/" />         <beans:property name="suffix" value=".jsp" />     </beans:bean>      <context:component-scan base-package="com.shivaji.testapp" />    </beans:beans> 

sorry folks.

i missing dependency of spring-jdbc. if find similar issue please add spring-jdbc , check if datasouce in right xml.

only after deploying got actual stack trace saying clasnotfound.

<dependency>         <groupid>org.springframework</groupid>         <artifactid>spring-jdbc</artifactid>         <version>${org.springframework-version}</version>     </dependency> 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -