プロパティファイルから読み込んでBeanを作成するために使用しているSpring構成クラスがあります。プロパティとしてBeanを挿入するためのSpring構成クラス
XMLファイル内のimport org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
@PropertySource("classpath:conf.properties")
public class ApplicationConfiguration {
@Value("${name}")
private String username;
@Value("${password}")
private String password;
@Value("${ethnicity}")
private String ethnicity;
@Bean
public Employee employee(){
Employee emp = new Employee();
ConfigParam configParam = new ConfigParam();
configParam.setEthnicity(ethnicity);
emp.setConfigParam(configParam);
return emp;
}
}
<property name="configParam">
<bean class="com.test.config.ConfigParam">
<property name="ethnicity" value="indian" />
</bean>
</property>
私はusername
とpassword
プロパティを設定することができますが、我々はConfigParam
とそのbean
を注入する必要があるためemployee
にconfigParam
属性を設定することができません。 employee
メソッド内にBeanを挿入する方法を教えてください。
ここで、 'ConfigParam'ビーンは定義されていますか?通常は 'employee()'メソッドにパラメータとして追加しますが、それが正しい解決策であるかどうかは分かりません。 –
何がうまくいかないのですか? ConfigParamとConfigParamにあなたの民族性を設定しているようです。何をもっとしたいですか? ConfigParamをBeanとして作成し、そこに民族性を直接注入することもできますが、最終結果はおそらく同じでしょう... ConfigParamにBeanとしてアクセスする必要がない場合、なぜそれを1つとして作成しますか? –
ありがとうございます。私は自分のコードを更新しました。 xmlファイルに 'config'を定義し、' employee'関数の中で 'emp'にBeanを注入できるかどうかを調べるだけです。 – zilcuanu