相关疑难解决方法(0)

了解Spring @Autowired用法

我正在阅读spring 3.0.x参考文档以了解Spring Autowired注释:

3.9.2 @Autowired和@Inject

我无法理解下面的例子.我们是否需要在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?

java spring autowired spring-3

295
推荐指数
3
解决办法
40万
查看次数

@Autowired注释应该放在哪里 - 关于属性还是方法?

哪个更正确?

这个(方法上有@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

31
推荐指数
1
解决办法
3万
查看次数