4

私は通常、次のように XML Spring 構成 (spring-conf.xml) を使用します。

<beans>

    <context:component-scan base-package="org.company.dept.business" />
   ... 
    <bean id="myServiceB2B" class="org.company.dept.business.service.MyService"
        p:configLocation="WEB-INF/classes/b2b.properties" />

    <bean id="myServiceResidential" class="org.company.dept.business.service.MyService"
        p:configLocation="WEB-INF/classes/residential.properties" />
   ...

</beans>

クラス MyService のファイル (定義) は 1 つしかないため、XML Spring 構成を使用せずに 2 つの Bean をインスタンス化する方法はありますか?

私は XML 定義に問題はありませんが、常に XML 構成をできるだけ最小限に抑えるようにしています。

4

2 に答える 2

14

<bean>XML で2 つの宣言を使用するのと同じ方法@Beanで、Java 構成で 2 つの注釈付きクラスを使用します。

@Configuration
public class MyConfiguration {
    @Bean(name = "firstService")
    public MyService myService1() {
        return new MyService();
    }

    @Bean(name = "secondService")
    public MyService myService2() {
        return new MyService();
    }
}

が何のためにあるのかはわかりませんがconfigLocation、Java 構成にも確実に含めることができます。

name属性はの属性@Beanと同等idです<bean>

于 2013-09-09T12:41:52.260 に答える