基本注释自动装配

接口:

public interface FooService {
    public int doSomething();
}

类:

@Service
public class FooServiceImpl implements FooService {
    @Override
    public int doSomething() {
        //Do some stuff here
        return 0;
    }
}

应该注意的是,类必须为 Spring 实现一个接口才能自动装配该类。有一种方法允许 Spring 使用加载时编织自动装配独立类,但这超出了本示例的范围。

你可以使用 @Autowired 注释在 Spring IoC 容器实例化的任何类中访问此 bean。

用法:

@Autowired([required=true])

@Autowired 注释将首先尝试按类型自动装配,然后在模糊不清的情况下回退到 bean 名称。

该注释可以以几种不同的方式应用。

构造函数注入:

public class BarClass() {
    private FooService fooService         

    @Autowired
    public BarClass(FooService fooService) {
        this.fooService = fooService;
    }
}

现场注入:

public class BarClass() {
    @Autowired
    private FooService fooService;
}

setter 注入:

public class BarClass() {
    private FooService fooService;

    @Autowired
    public void setFooService(FooService fooService) {
        this.fooService = fooService;
    }
}