几个月以来我一直在使用 Spring,我认为带有@Autowired
注释的依赖注入还需要一个 setter 来注入该字段。
所以,我这样使用它:
@Controller
public class MyController {
@Autowired
MyService injectedService;
public void setMyService(MyService injectedService) {
this.injectedService = injectedService;
}
...
}
但我今天试过这个:
@Controller
public class MyController {
@Autowired
MyService injectedService;
...
}
哦,令人惊讶的是,没有编译错误,启动时没有错误,应用程序运行完美......
所以我的问题是,带有@Autowired
注释的依赖注入是否需要setter?
我正在使用 Spring 3.1.1。