SSH2和wabacus框架共用数据源的实现方法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > SSH2和wabacus框架共用数据源的实现方法

SSH2和wabacus框架共用数据源的实现方法

 2013/7/10 9:36:11  407968257  程序员俱乐部  我要评论(0)
  • 摘要:最近在使用wabacus框架开发项目,确实非常方便和高效,但有的非常复杂业务还需要用传统的ssh2进行开发,这个时候就想两个共用一个数据源,即都用ssh2配置的数据源,经过请教作者,终于实现了,方法大致如下:1:创建一个类MyContext.java,如下publicclassMyContextimplementsApplicationContextAware{privatestaticApplicationContextcontext
  • 标签:方法 实现 数据 SSH

最近在使用wabacus框架开发项目,确实非常方便和高效,但有的非常复杂业务还需要用传统的ssh2进行开发,这个时候就想两个共用一个数据源,即都用ssh2配置的数据源,经过请教作者,终于实现了,方法大致如下:?
1:创建一个类MyContext.java,如下

class="java" name="code">public class MyContext implements ApplicationContextAware {

        private static ApplicationContext context;// 声明一个静态变量保存

        @Override
        public void setApplicationContext(ApplicationContext context)
                        throws BeansException {
                // TODO Auto-generated method stub
                this.context = context;
        }

        public static ApplicationContext getContext() {
                return context;
        }

}

?2:在applicationContext.xml里面注入该类,
? <bean class="com.util.MyContext"></bean>
?? 这样就可以在类里面使用applicationContext提供的bean啦。
创建SpringDataSource.java,该类为wabacus提供数据源(调用的是applicationContext里面的数据源)如下:

public class SpringDataSource extends AbsDataSource {

        private static Logger logger = Logger.getLogger(SpringDataSource.class);
        private DataSource ds;
        
        public SpringDataSource(){
                this.ds = (DataSource) MyContext.getContext().getBean ("dataSource"); 
                System.out.println("########"+ this.ds.toString());
        }

        @Override
        public Connection getConnection() {
                try {
                        logger.debug("从数据源" + this.getName() + "获取数据库连接");
                        return this.ds.getConnection();
                } catch (SQLException e) {
                        throw new WabacusRuntimeException("获取" + this.getName()
                                        + "数据源的数据库连接失败", e);
                }
        }

        @Override
        public DataSource getDataSource() {
                return this.ds;
        }
        
}

?4:在wabacus的配置文件wabacus.cfg.xml 中就可以这样配置来获取数据源啦,如下:

  <datasources default="ds_mysql">
                <datasource name="ds_mysql" type="com.wabacus.SpringDataSource"
                        dbtype="com.wabacus.config.database.type.MySql">
                        <property name="driver">driver</property> 
                </datasource>
        </datasources>

?

发表评论
用户名: 匿名