Integrate spring and dal

This commit is contained in:
xingchaowang 2015-03-05 18:41:54 +08:00
parent 02a75549bc
commit 2aa82609b6
4 changed files with 26 additions and 9 deletions

View file

@ -5,8 +5,10 @@ import com.ctrip.zeus.dal.core.DemoDao;
import com.ctrip.zeus.dal.core.DemoEntity;
import com.ctrip.zeus.model.entity.SlbCluster;
import com.ctrip.zeus.service.SlbClusterRepository;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.springframework.stereotype.Repository;
import org.unidal.dal.jdbc.DalException;
import org.unidal.lookup.ContainerLoader;
import javax.annotation.Resource;
import java.util.List;
@ -22,12 +24,8 @@ public class SlbClusterRepositoryImpl implements SlbClusterRepository {
@Override
public List<SlbCluster> list() {
try {
Demo demo = demoDao.findByPK(1, DemoEntity.READSET_FULL);
System.out.println(demo.getName());
} catch (DalException e) {
e.printStackTrace();
}

View file

@ -0,0 +1,15 @@
package com.ctrip.zeus.support;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.unidal.lookup.ContainerLoader;
/**
* @author:xingchaowang
* @date: 3/5/2015.
*/
public class DaoFactory {
public <T> T getDao(Class<T> clazz) throws ComponentLookupException {
return ContainerLoader.getDefaultContainer().lookup(clazz);
}
}

View file

@ -16,5 +16,9 @@
<context:component-scan base-package="com.ctrip.zeus"/>
<aop:aspectj-autoproxy/>
<bean id="demoDao" class="com.ctrip.zeus.dal.core.DemoDao" init-method="initialize"/>
<bean id="daoFactory" class="com.ctrip.zeus.support.DaoFactory"/>
<bean id="demoDao" factory-bean="daoFactory" factory-method="getDao">
<constructor-arg type="java.lang.Class" value="com.ctrip.zeus.dal.core.DemoDao"/>
</bean>
</beans>

View file

@ -2,10 +2,10 @@
<slb-server ip="192.168.1.1"/>
<domain name="www.ctrip.com" port="80" isSSL="true|false"/>
<slb-cluster name="default">
<slbServers>
<slbServer ip="192.168.1.1"/>
<slbServer ip="192.168.1.1"/>
</slbServers>
<slb-servers>
<slb-server ip="192.168.1.1"/>
<slb-server ip="192.168.1.1"/>
</slb-servers>
<domains>
<domain name="www.ctrip.com" port="80" isSSL="false"/>
<domain name="hotel.ctrip.com" port="443" isSSL="true"/>