我正在阅读spring 3.0.x参考文档以了解Spring Autowired注释:
我无法理解下面的例子.我们是否需要在XML中执行某些操作才能使用它?
例1
public class SimpleMovieLister {
private MovieFinder movieFinder;
@Autowired
public void setMovieFinder(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
例2
public class MovieRecommender {
private MovieCatalog movieCatalog;
private CustomerPreferenceDao customerPreferenceDao;
@Autowired
public void prepare(MovieCatalog movieCatalog,
CustomerPreferenceDao customerPreferenceDao) {
this.movieCatalog = movieCatalog;
this.customerPreferenceDao = customerPreferenceDao;
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
如何通过自动装配两个类来实现相同的接口并使用相同的类?
例:
class Red implements Color
class Blue implements Color
class myMainClass{
@Autowired
private Color color;
draw(){
color.design();
}
}
Run Code Online (Sandbox Code Playgroud)
将调用哪种设计方法?如何确保调用Red类的设计方法而不是Blue?
哪个更正确?
这个(方法上有@Autowired注释)?
@Controller
public class MyController
{
private MyDao myDao;
@Autowired
public MyController(MyDao myDao)
{
this.myDao = myDao;
}
Run Code Online (Sandbox Code Playgroud)
这个(在属性上有@Autowired注释)?
@Controller
public class MyController
{
@Autowired
private MyDao myDao;
public MyController(MyDao myDao)
{
this.myDao = myDao;
}
Run Code Online (Sandbox Code Playgroud)
@Autowired注释应该去哪里?
spring annotations dependency-injection spring-mvc autowired