我有课
@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
参数。