Spring3.1を使用しています
プログラムでBeanを登録しましたが、プログラムでも取得したいのですが、成功しません。
public void createBean(String beanName, String beanParam) {
System.out.println("beanName=" + beanName + " beanParam=" + beanParam);
ApplicationContext context = ApplicationContextSingleton.getApplicationContext();
StaticApplicationContext innerContext;= new StaticApplicationContext(context);
innerContext.registerSingleton("beanName", FixSessionBean.class);
configureBean(innerContext, beanName, beanParam);
}
public void configureBean(ApplicationContext innerContext, String beanName, String beanParam) {
innerContext.getBean(beanName);
FixSessionBean fixSessionBean = (FixSessionBean) innerContext.getBean(beanName);
}
私のapplicationContextから:
<bean id="FixSessionBean" class="com.finbird.fixgw.beans.FixSessionBean" />
ここにいくつかのログ証拠があります:
beanName=mm1 beanParam=mm2
2012-07-09 13:07:31,016 com.fixgw.test.TriggerBean [ERROR] org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mm1' is defined
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mm1' is defined
なぜうまくいかないのか分かりますか?
ありがとう。