1

私はJava構成が初めてです。私はこのようなコードを持っています。SomeDao には独自の依存関係があります。新しいことを行っているので、依存関係を設定するべきではありませんか? 誰かがこのコードを理解するのを手伝ってくれますか?

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

1 に答える 1

2

これがxmlでどのように行われるかを知っていますか? それと非常によく似ています。

xmlで (コンストラクター インジェクションを介して) および(セッター インジェクションを介して)SomeDao構成されている例を次に示します。Dep1Dep2

<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
}
于 2013-07-27T05:42:23.033 に答える