我使用Spring MVC为我的项目。是否可以在另一个类上使用相同的自动装配对象?Spring MVC使用外部控制器类自动装配对象
我有两个控制器,一个用于导航,另一个用于操作。
这是我的样品导航控制器:
@Controller
public class NavigationController {
@Autowired
private DepartmentDAO deptDao;
@RequestMapping("/")
public ModelAndView panel() {
ModelAndView mv = new ModelAndView("panel");
Department dept = deptDao.getDept();
mv.addObject("department",dept);
return mv;
}
}
然后我操作的控制器:
@Controller
public class OperationController {
@RequestMapping(value = "/save.do", method = RequestMethod.POST)
public ModelAndView saveEvent(){
ModelAndView mv = new ModelAndView("next");
Event event = new EventCreator().createEvent();
//some logic here
return mv;
}
}
这是我的业务委托类:
public class EventCreator {
public Event createEvent(){
//logic here
//I need to use the deptDao here.
}
}
太感谢你了!
嗨!我尝试了你所说的话,但我仍然得到一个nullpointerexception。 – pat3ck029
你的包装结构是什么?你在哪个包中放置了“EventCreator”类?你是如何定义组件扫描的?确保'EventCreator'类用'@ Component'标注,并且这个类应该放在你在组件扫描中指定的'base package'中。如果问题尚未解决,您可以发布完整的配置和代码 –
嗨。修复。我忘了我用新来创建EventCreator的实例。现在我在我的操作控制器中使用了@Autowired EventCreator。十分感谢你的帮助! – pat3ck029