LucyとDBFluteの連携(その3、設定がだいぶ減りました)
DBFlute-0.9.0を使っている現在のdbflute-spring-exampleを使ったところ、
設定ファイルがだいぶ減りました。(でもまだ完全じゃないから増えるかも…)
あとはトランザクション周りをSpring使わないようにするのと、allcommonのImplementedBehaviorSelectorで
SpringのApplicationContextをimportしているところをどうするかだなぁ。
(今のままだとspring.jarが必要になる)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE lucy-config PUBLIC "-//LUCY//DTD LUCY//EN" "http://www.lucy.org/dtd/lucy-config.dtd"> <lucy-config> <component name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <inject method="setDriverClassName">"org.h2.Driver"</inject> <inject method="setUrl">t2DbUrl.object</inject> <inject method="setUsername">"sa"</inject> <!-- <inject method="setPassword"></inject> --> <inject method="setMaxActive">20</inject> </component> <!-- <component name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <inject method="setDataSource">dataSource</inject> </component> --> <!-- The example original component for building connection string of H2. --> <component name="t2DbUrl" class="org.t2framework.samples.todo.EmbeddedH2UrlFactoryBean"> <inject method="setUrlSuffix">"/data/t2db"</inject> <inject method="setReferenceClassName">"org.t2framework.samples.todo.dbflute.allcommon.DBCurrent"</inject> </component> <!-- The components of DBFlute Runtime. --> <component name="dbfluteInitializer" class="org.t2framework.samples.todo.dbflute.allcommon.DBFluteInitializer"/> <component name="invokerAssistant" class="org.t2framework.samples.todo.dbflute.allcommon.ImplementedInvokerAssistant"> <inject method="setDataSource">dataSource</inject> </component> <component name="commonColumnAutoSetupper" class="org.t2framework.samples.todo.dbflute.allcommon.ImplementedCommonColumnAutoSetupper"/> <component name="behaviorSelector" class="org.t2framework.samples.todo.dbflute.allcommon.ImplementedBehaviorSelector"/> <component name="behaviorCommandInvoker" class="org.seasar.dbflute.bhv.core.BehaviorCommandInvoker"> <inject method="setInvokerAssistant">invokerAssistant</inject> </component> <!-- The components of Behavior. --> <component name="memberBhv" class="org.t2framework.samples.todo.dbflute.exbhv.MemberBhv"> <inject method="setCommonColumnAutoSetupper">commonColumnAutoSetupper</inject> <inject method="setBehaviorCommandInvoker">behaviorCommandInvoker</inject> <inject method="setBehaviorSelector">behaviorSelector</inject> </component> </lucy-config>
テストコード
@SingletonScope public class BehaviorTest extends LucyTestCase { private Lucy lucy; public void setUp() throws Exception { lucy = getLucy(); lucy.load("org/t2framework/samples/lucy/dbflute/config.xml"); } public void testBehavior() throws Exception { final MemberCB cb = new MemberCB(); MemberBhv memberBhv = lucy.get("memberBhv"); List<Member> list = memberBhv.selectList(cb); assertNotNull(list); for(Member member : list){ assertNotNull(member.getMemberName()); } } }