これがxmlでどのように行われるかを知っていますか? それと非常によく似ています。
xmlで (コンストラクター インジェクションを介して) および(セッター インジェクションを介して)SomeDao
構成されている例を次に示します。Dep1
Dep2
<bean id="someDao" class="com.example.SomeDao">
<constructor-arg ref="dep1"/>
<property name="dep2" ref="dep2"/>
</bean>
<bean id="dep1" class="com.example.Dep1" />
<bean id="dep2" class="com.example.Dep2" />
JavaConfig のこの同じ例は、次のように構成されます。
@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();
}
}
3 つの Bean はすべて にまだ登録されているApplicationContext
ため、次のように、これら 3 つの Bean をすべて別のクラスにオートワイヤーすることができます。
@Controller
public class MyController {
@Autowired
private SomeDao someDao;
@Autowired
private Dep1 dep1;
//...some methods
}