zoukankan      html  css  js  c++  java
  • 项目中一个普通的Java类如何获取service接口(一)

    在普通的Java类中获取service接口目的是调用接口中的方法,实现数据的持久化等操作:

    Java类中的获取service接口方法:

    IfaceDetectService    faceDetectService    =    (IFaceDetectService)SpringUtil.getObject("faceDetectService");

    注意:括号中的“faceDetectService”一定要与serviceimpl上注入的一致。

    SpringUtil类:

    public static final String publicDBSource = "publicDBSource"; //本地数据库连接
        //此方法会重新加载spring,故不用
    //    public static ApplicationContext ct=new ClassPathXmlApplicationContext("/config/spring/spring-servlet.xml"); ;
        public static ApplicationContext ct;
        public static ServletContext servletContext; 
        //从数据库中获得数据库连接
        public static Connection getSpringBean(String beanId){
            BoneCPDataSource datasource=(BoneCPDataSource)ct.getBean(beanId); 
            Connection conn = null;
            try {
                conn=(Connection) datasource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
        public static BasicDaoSupportImpl getDaoSupport(){
            return (BasicDaoSupportImpl)ct.getBean("basicDaoSupport");
        }
        public static Connection getPublicConnection(){
            return getSpringBean("publicDBSource");
        }
        //spring中获得bean
        public static Object getObject(String beanId){
            return ct.getBean(beanId);
        }
        //获得web.xml配置文件参数
        public static String getContextParams(String name){
            return servletContext.getInitParameter(name);
        }
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Connection conn = getSpringBean(null);
            CallableStatement statement = null;
            String sql = "{call InsertBBSBloger(?,?,?)}";
            try {
                statement = conn.prepareCall(sql);
                statement.setString(1, "jacun");
                statement.setString(2, "http://3more.jpg");
                statement.registerOutParameter(3, Types.INTEGER);
                statement.execute();
                //输出:
                int webid = statement.getInt(3);
                System.out.println(webid+"===");
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        @Override
        public void setApplicationContext(ApplicationContext arg0) throws BeansException {
            SpringUtil.ct = arg0;
        }
        @Override
        public void setServletContext(ServletContext arg0) {
            servletContext = arg0;
        }

    main方法是我在测试时候用的,可以去掉。

    配置文件spring-servlet.xml:

    <!-- 自动spring ApplicationContext 到对象中 -->
    <bean id="SpringUtil"  class="monitor.util.SpringUtil"></bean>

    完成。

  • 相关阅读:
    JavaScript类型转换
    JavaScript中的 typeof,null,和undefined
    JavaScript循环
    JavaScript条件语句
    JavaScript运算符
    JavaScript字符串
    JavaScript事件
    JavaScript对象,函数,作用域
    JavaScript基础
    数值数据的特征预处理
  • 原文地址:https://www.cnblogs.com/zjiacun/p/6692023.html
Copyright © 2011-2022 走看看