2017-05-17 10 views
1

applicationContext.xmlを使用しないSpring起動アプリケーションでは、アプリケーションが使用するjarファイル内に存在するクラスのフィールドを更新するためにBeanが必要です。 次のようにapplicationContext.xmlを使用するアプリケーションは、Beanはspecfiedすることができれば:上記のBeanがJavaでプログラム的spring-bootでbeanをプログラムで作成してjarファイル内のクラスを更新する

<bean id="au" class="path1.path2.path3.AU"> 

    <property name="property1" value="newValue" /> 

</bean> 

を作成することができますか?

+1

上記の@ Beanアノテーションは、path1.path2.path3.AUのオブジェクトを返すメソッドの上で使用できます。そのメソッドが存在するクラスには、@ Configurationという注釈が付けられていなければならず、Spring Bootでスキャンする必要があります。 –

+0

@Bean(name = "au") path1.path2.path3.AU getAU(){ path1.path2.path3.AU aux = .... aux.setProperty1( "newValue"); 返品aux; }上記のような何か? – user1186233

答えて

1

それは最も単純だ時あなたは自分の@SpringBootApplicationクラスの@Beanアノテーション付きメソッドでそれを指定することができます。

import path1.path2.path3.AU; 

@SpringBootApplication 
public class MyApp { 
    public static void main(String[] args) { ... } 

    // This method will produce a bean named "au" of class AU 
    @Bean 
    public AU au() { 
    AU au = new AU(); 
    au.setProperty1("newValue"); 
    return au; 
    } 
} 

これは本当に春ブーツに特異的であるが、純粋な春の機能をよりではありません。あなたはreview the docs hereです。

関連する問題