我正在关注this tutorial以使用Spring Security.我想使用Hibernate进行数据库查询.我配置了代码,但抛出了异常.
我在spring-security.xml和my-servlet.xml中定义了bean,但仍然没有结果.
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'myMemberDetailsService' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:570)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1114)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:279)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
... 93 more
MemberRepository
public class MemberRepositoryImpl implements MemberRepository {
SessionFactory sessionFactory;
@SuppressWarnings("unchecked")
@Override
public Member findByUserName(String username) {
List
MyMemberDetailsS??ervice
public class MyMemberDetailsService implements UserDetailsService {
private MemberRepository memberRep;
@Override
public UserDetails loadUserByUsername(final String username)
throws UsernameNotFoundException {
Member member = memberRep.findByUserName(username);
HashSet
我-servlet.xml中
弹簧security.xml文件
我刚刚阅读了教程,我看到它没有提到有关web.xml配置的任何内容,所以我下载它以查看它是如何配置的.
你告诉过,你曾尝试在两个地方定义myMemberDetailsS??ervice,my-servlet和spring-security,但它没有用.
好吧,我认为这是一个配置问题所以请尝试更改你的web.xml如下(我使用你在问题中使用的名称,但请检查出来是否有问题):
并删除您的全局< context-param>对于contextConfigLocation参数,如果存在.
如果这不起作用,我将建议您使用与教程类似的配置,也就是说,将最小的MVC配置保留到my-servlet.xml中,并在单独的上下文中配置其余的bean.
希望能帮助到你!