|
|
||
DbUtils の Bean(List)Handler 相当のことは、SpringFramework だと sandbox の ReflectionExtractionSqlQuery を使うことで実現できるのだろうか?
を SpringFramework で一番普通っぽく書くと
<beans>
<bean class="Girl">
<property name="kissable">
<ref bean="Boy" />
</property>
</bean>
<bean class="Boy" />
</beans>
BeanFactory spring = new XmlBeanFactory(new FileInputStream("src/conf/default-spring.xml"));
Girl girl = (Girl) spring.getBean(Girl.class.getName(), Girl.class);
girl.kissYourKissable();
PPT の P.31 だと bean element に id attribute を付けているが、id も name も付けなければ class で引ける。そうできるときはその方が楽だと思う。
autowire を使って type 3 で書くと
<beans> <bean class="Girl" autowire="constructor" /> <bean class="Boy" /> </beans>
BeanFactory spring = new XmlBeanFactory(new FileInputStream("src/conf/autowire-spring.xml"));
Girl girl = (Girl) spring.getBean(Girl.class.getName(), Girl.class);
girl.kissYourKissable()
ちょっと頑張って metadata なしで書いてみる
DefaultListableBeanFactory spring = new DefaultListableBeanFactory(); RootBeanDefinition def; def = new RootBeanDefinition(Girl.class, null); def.setAutowire(RootBeanDefinition.AUTOWIRE_CONSTRUCTOR); spring.registerBeanDefinition(Girl.class.getName(), def); def = new RootBeanDefinition(Boy.class, null); spring.registerBeanDefinition(Boy.class.getName(), def); Girl girl = (Girl) spring.getBean(Girl.class.getName(), Girl.class); girl.kissYourKissable();
本当にこういう書き方をするものなのか自信が持てない。