Spring 如何理解@Configuration

Spring 如何理解@Configuration,spring,configuration,dependency-injection,Spring,Configuration,Dependency Injection,我不熟悉Java配置。我有这样的代码。有些DAO有它自己的依赖项,既然我们正在做新的工作,我们不应该设置依赖项吗? 有人能帮我理解这个代码吗 @Configuration public class DAOConfiguration { @Bean(name = "someDao") public SomeDao someDao() { return new SomeDao(); } 您熟悉如何在xml中实现这一点吗?与此极为相似 下面是一个用xml中的D

我不熟悉Java配置。我有这样的代码。有些DAO有它自己的依赖项,既然我们正在做新的工作,我们不应该设置依赖项吗? 有人能帮我理解这个代码吗

@Configuration
public class DAOConfiguration {
    @Bean(name = "someDao")
    public SomeDao someDao() {
        return new SomeDao();
    }

您熟悉如何在xml中实现这一点吗?与此极为相似

下面是一个用xml中的
Dep1
(通过构造函数注入)和
Dep2
(通过setter注入)配置
SomeDao
的示例:

这三个bean仍然在
ApplicationContext
中注册,因此您可以将这三个bean自动连接到另一个类中,如下所示:

@Controller
public class MyController {
    @Autowired
    private SomeDao someDao;

    @Autowired
    private Dep1 dep1;

    //...some methods
}
@Configuration
public class DAOConfiguration {
    @Bean(name = "someDao")
    public SomeDao someDao() {
        final SomeDao someDao = new SomeDao(dep1());
        someDao.setDep2(dep2());
        return someDao;
    }

    @Bean(name="dep1")
    public Dep1 dep1() {
        return new Dep1();
    }

    @Bean(name-"dep2")
    public Dep2 dep2() {
        return new Dep2();
    }
}
@Controller
public class MyController {
    @Autowired
    private SomeDao someDao;

    @Autowired
    private Dep1 dep1;

    //...some methods
}