Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc Spring安全性:自动连线依赖项的注入失败_Spring Mvc - Fatal编程技术网

Spring mvc Spring安全性:自动连线依赖项的注入失败

Spring mvc Spring安全性:自动连线依赖项的注入失败,spring-mvc,Spring Mvc,在servlet安全性中出错 ERROR: org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService': Injection of autowired dependencies faile

在servlet安全性中出错

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.login.dao.UserDao com.login.dao.UserDetailsServiceImpl.userdao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:633)   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)  at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)  at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)  at java.util.concurrent.FutureTask.run(FutureTask.java:262)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.login.dao.UserDao com.login.dao.UserDetailsServiceImpl.userdao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)   ... 22 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)  at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:917)     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:860)    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:775)  at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)    ... 24 more Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)   ... 35 more Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:993)     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:863)    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:775)  at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:489)    ... 37 more Dec 02, 2015 2:39:31 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDetailsService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.login.dao.UserDao com.login.dao.UserDetailsServiceImpl.userdao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:633)   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)  at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)  at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)  at java.util.concurrent.FutureTask.run(FutureTask.java:262)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  at java.lang.Thread.run(Thread.java:745) Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.login.dao.UserDao com.login.dao.UserDetailsServiceImpl.userdao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:517)    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)   ... 22 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDaoImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}   at org.springframework.beans.facto


**Not able to autowire the class**

    @Autowired
    private com.login.dao.UserDao userdao;
    @Override
    @Transactional(readOnly=true)
    public UserDetails loadUserByUsername(String username)
            throws UsernameNotFoundException {



    User user=userdao.findUserByUsername(username);
    if(user!=null)
    {
        String password=user.getPassword();
        boolean enabled=user.getStatus().equals(UserStatus.ACTIVE);
        boolean accountNonExpired=user.getStatus().equals(UserStatus.ACTIVE); 
        boolean credentialsNonExpired=user.getStatus().equals(UserStatus.ACTIVE);
        boolean accountNonLocked=user.getStatus().equals(UserStatus.ACTIVE);

        Collection<GrantedAuthority> authority=new ArrayList<GrantedAuthority>();
        for (Role role : user.getRoles()) {

            authority.add(new GrantedAuthorityImpl(role.getRoleName()));
        }

        org.springframework.security.core.userdetails.User securityUser=new org.springframework.security.core.userdetails.User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authority); 
        return securityUser;
    }
    else
    {
        return (UserDetails) new UsernameNotFoundException("User Not found");
    }

}
错误:org.springframework.web.context.ContextLoader-上下文初始化失败org.springframework.beans.factory.BeanCreationException:创建名为“userDetailsService”的bean时出错:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动连接字段:private com.login.dao.UserDao com.login.dao.userdetails服务impl.UserDao;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“userDaoImpl”的bean时出错:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.beancreatitionException:无法自动连接字段:private org.hibernate.SessionFactory com.login.dao.UserDaoImpl.session;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项类型为[org.hibernate.SessionFactory]的符合条件的bean:应至少有1个bean符合此依赖项的autowire候选项的条件。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}位于org.springframework.beans.factory.annotation.AutowiredNotationBeanPostProcessor.PostProcessPropertyValue(AutowiredNotationBeanPostProcessor.java:289)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1146)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458),位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296),位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)的org.springframework.context.support.AbstractApplicationContext.FinishBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:633)中(AbstractApplicationContext.java:479)位于org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)位于org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)位于org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)java.util.concurrent.FutureTask.run(FutureTask.java:262)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)运行(Thread.java:745)原因:org.springframework.beans.factory.BeanCreationException:无法自动连线字段:private com.login.dao.UserDao com.login.dao.UserDetailsServiceImpl.UserDao;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“userdaImpl”的bean时出错:自动连线依赖项的注入失败;嵌套异常异常为org.springframework.beans.factory.BeanCreationException:无法自动连接字段:private org.hibernate.SessionFactory com.login.dao.userdaimpl.session;嵌套异常为org.springframework.beans.factory.nosuchbeandeDefinitionException:没有[org.hibernate.SessionFactory]类型的合格bean为依赖项找到:应至少有1个bean符合此依赖项的autowire候选。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)}位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject位于org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)的org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.PostProcessPropertyValue(AutoWiredNotationBeanPostProcessor.java:286)…22更多原因:org.springframework.beans.factory.BeanCreationException:创建名为“userDaoImpl”的bean时出错:自动关联依赖项注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动关联字段:private org.hibernate.SessionFactory com.login.dao.userDaoImpl.session;nested异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到符合依赖项要求的[org.hibernate.SessionFactory]类型的bean:应至少有1个bean符合此依赖项的autowire候选项要求。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)}位于org.springframework.beans.factory.annotation.AutowiredNotationBeanPostProcessor.postProcessPropertyValues(AutowiredNotationBeanPostProcessor.java:289)位于org.springframework.beans.factory.support.AbstractAutowiredCapableBeanPactory.populateBean(AbstractAutowiredCapableBeanPactory.java:1146)位于org.springframework.beans.factory.support.AbstractAutowir
   @Service("userDetailsService")
public class UserDetailsServiceImpl implements UserDetailsService{


@Autowired
private com.login.dao.UserDao userdao;

@Override
@Transactional(readOnly=true)
public UserDetails loadUserByUsername(String username)
        throws UsernameNotFoundException {

    User user=userdao.findUserByUsername(username);
    if(user!=null)
    {
        String password=user.getPassword();
        boolean enabled=user.getStatus().equals(UserStatus.ACTIVE);
        boolean accountNonExpired=user.getStatus().equals(UserStatus.ACTIVE); 
        boolean credentialsNonExpired=user.getStatus().equals(UserStatus.ACTIVE);
        boolean accountNonLocked=user.getStatus().equals(UserStatus.ACTIVE);

        Collection<GrantedAuthority> authority=new ArrayList<GrantedAuthority>();
        for (Role role : user.getRoles()) {

            authority.add(new GrantedAuthorityImpl(role.getRoleName()));
        }

        org.springframework.security.core.userdetails.User securityUser=new org.springframework.security.core.userdetails.User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authority); 
        return securityUser;
    }
    else
    {
        return (UserDetails) new UsernameNotFoundException("User Not found");
    }

}
<context:annotation-config/>
<context:component-scan base-package="com.login.dao" />



 <bean id="userDetailsService" class="com.login.dao.UserDetailsServiceImpl">
</bean> 

<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
    <property name="userDetailsService" ref="userDetailsService"></property>
</bean>

<bean id="authenticationProviderManager" class="org.springframework.security.authentication.ProviderManager">
    <property name="providers" >
        <list>
            <ref local="daoAuthenticationProvider"></ref> 
        </list>
    </property>
</bean>
<security:authentication-manager >
    <security:authentication-provider user-service-ref="userDetailsService">
     <security:password-encoder hash="plaintext"></security:password-encoder>
    </security:authentication-provider>
    </security:authentication-manager>
    @Repository
public class UserDaoImpl implements UserDao{
@Autowired
private SessionFactory session;

@Override
public void addUser(User user) {

    session.getCurrentSession().save(user);

}

@Override
public void editUser(User user) {
    session.getCurrentSession().update(user);

}

@Override
public void deleteUser(int userid) {
    session.getCurrentSession().delete(findUser(userid));

}

@Override
public User findUser(int userId) {

    return (User) session.getCurrentSession().get(User.class, userId);
}

@Override
public User findUserByUsername(String username) {
Criteria criteria=session.getCurrentSession().createCriteria(User.class);
criteria.add(Restrictions.eq("username",username));
return (User)criteria.uniqueResult();
}

@SuppressWarnings("unchecked")
@Override
public List<User> getAllUsers() {
    List<User> list=session.getCurrentSession().createQuery("from User").list();
    return list;
}