我有课

@Service("registrationService")
@Transactional
public class RegistrationService {

@Resource(name="registrationDAO")
 public RegistrationDAO registrationDAO;


在控制器中,我可以毫无问题地访问registrationService和registrationDAO。

我有另一堂课

@Service("securityService")
public class SecurityService implements UserDetailsService {

 protected static Logger logger = Logger.getLogger("service");

 @Resource(name="registrationDAO")
 public RegistrationDAO registrationDAO;


  public String test(){
        logger.debug(registrationDAO.findUserByID(1) );
    return "Testing";
  }


现在,如果我在控制器中调用测试函数,则它将在注册时给出空指针异常

最佳答案

您的所有@Service@Repository@Controller@Component(等)注释类都必须是弹簧管理的,以使自动装配起作用。确保通过春季类路径扫描将它们拾取:

<context:component-scan base-package="com.company" />


在某些情况下,按类型自动接线的@Autowire可以避免使用name提供的@Resource参数。

10-06 05:12