>>>>
JdbcDAO是遵循J2EE设计模式的DAO模式,参考Petstored的Category DAO模式,DAO调用方式是: EJB(SKSB) + DAO + JDBC/Hibernate
所以jdbcDAO是被EJB调用的,注意jdbcDAO这段代码中的servicelocator是从哪里导入的,如果我没有记错,应该是 xxx.xxx.xx.ejb.servicelocator。
也就是说,Datasource的Name是EJB的reference name,而reference name是指向数据源的JNDI,JNDI再指向具体数据库。
J2EE就是通过这样的松耦合来实现了解耦。
<<<<
前面关于相机的那段比喻,我确实存在误解。
至于你说得
JdbcDAO是遵循J2EE设计模式的DAO模式,参考Petstored的Category DAO模式,DAO调用方式是: EJB(SKSB) + DAO + JDBC/Hibernate
所以jdbcDAO是被EJB调用的,注意jdbcDAO这段代码中的servicelocator是从哪里导入的,如果我没有记错,应该是 xxx.xxx.xx.ejb.servicelocator。
也就是说,Datasource的Name是EJB的reference name,而reference name是指向数据源的JNDI,JNDI再指向具体数据库。
J2EE就是通过这样的松耦合来实现了解耦。
我还是存有异议,既然你使用了PicoContainer,为何不将解耦进行到底呢?
既然你的JDon 框架很大一部分为了EJB而建立,为何不将PicoContainer作为彻底将你的业务逻辑层 和 EJB/别的J2EE容器解耦的中间层呢? 这样的话,无论对于测试还是部署都有巨大的好处。
针对你说的JDBC DAO,因为在你的源代码中,我找不到你的这些类,我只能就着我的思维发表一点拙见:
可以参考Spring,用一个JndiObjectFactoryBean专门处理JNDI类的引用,下面给出一个转贴以示说明:
<!---->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>jdbc/myDatasource</value></property>
<!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false -->
<property name="resourceRef"><value>true</value></property>
<property name="jndiEnvironment">
<props>
<!-- The value of Context.PROVIDER_URL -->
<prop key="java.naming.provider.url">t3://localhost:7001</prop>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
</props>
</property>
</bean>
"dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property>
<property name="url"><value>jdbc:hsqldb:data/jert_web_test</value></property>
<property name="username"><value>sa</value></property>
<property name="password"><value></value></property>
</bean>
而你 的 jdbcDAO可以这样写:
public JdbcDAO() {
}
public void setDataSource(DataSource ds){
dataSource=ds;
}
public DataSource getDataSource(){
return dataSource;
}
...
}
你的JDon 配置文件中可以类似这样定义:
<jdbcdao></jdbcdao>
<datasource ref="dataSource"></datasource>
....
如果datasource是自定义的,则只需要这样配置:
<bean id=
既然你的设计使用了IOC的概念,并且采用了PicoContainer为微核心,那么有什么理由不使用IOC呢?
相关推荐
spring与ejb.pdf 详细讲述spring 与ejb
spring集成ejb
struts2+spring+ejb3源代码(完整版)
spring和EJB3的一些包,包括文档,基本上是英文的
java最新面试题 java struts servlet spring ejb
ajax、spring、ejb试题 选择题和简答题。
EJB3,Spring,Struts2整合
Hibernate+Spring+EJB+Ajax-关于这四种技术的详细讲解。全面、易懂。
POJO Application Frameworks_ Spring Vs. EJB 3
简单的Struts2+Spring+EJB框架整合实例
EJB3.0和Spring比较
struct ,spring,ejb架构原理培训以及相关源码,程秀野
struts,spring,ejb3.0整合
这个demo,实现了ejb+spring的集合。ejb主要是消息驱动bean和会话bean。
spring ejb configuration
我是一个EJB3.0的新手 ,经过几天的搜索资料和自己的许多次测试,终于实现了ejb3、spring、struts2的整合,在这里写明一下简单的实现过程,希望对新入门的网友有所帮助,也请高手们不要拍砖,多多提出您的意见,在此...
很详细的EJB&Spring;对比。。。不了解的可以下载看看。本来就是靠它搞懂的。才拿来分享。
java js jsp spring hibernate ejb 网站资料资源记录,里面含有全面和全部的java相关的网站,书籍,pdf,word,等等记录。学java必备。
spring+struts+ejb整合 版本 jboss-5.1.0.GA struts-2.2.3 spring-3.2.4.RELEASE