板桥上文章上的疑惑:一个JAVABEAN的JNDI问题。问了几个人了,都说不知道。

04-05-31 hunterdd
众所周直DAO模式了

但是DAO模式里的FACTORY模式中有这么个代码

Context ctx=new InitialContext();

String className=(String)ctx.lookup("java:comp/env/CgjhDaoClass");

cgjhDao=(CgjhDao)Class.forName(className).newInstance();

这个cgjhDao只是一个JAVABEAN而已,为什么用JNDI的方式去查找?

最重要的是JAVABEAN一般不用JNDI的这种方式去查找,这个JAVABEAN的JNDI是哪里来的呀?在WEBLOGIC这样的应用服务器上配的,还是在自己专门些的程序去绑定的??

DAO模式的代码 http://www.jdon.com/designpatterns/ejb.htm

    

wwlhp@jdon
2004-06-01 14:23
呵呵,头一次看见这么使用jndi的。原来是把Bean的实现类的名字绑定到jndi了。

yangzheng
2004-06-01 16:37
java:comp/env/CgjhDaoClass绑定的是一个daoImp名字,这样当数据库发生变化的时候(比如从mysql移植到oracle),只需添加一个daoOracleImp,然后修改配置文件,将java:comp/env/CgjhDaoClass指向daoOracleImp就可以了,其他调用的程序不用变动,程序的扩展性好。

banq
2004-06-01 18:54
这个类似JavaBean中的工厂模式,相同于Jive中的ForumFactory做法。

hunterdd
2004-06-02 10:22
那能不能告诉我具体是怎么配置的呀?比如用WEBLOGIC。

猜你喜欢
2Go 1 2 下一页