• cxf-rs 、spring 和 swagger 环境配置切换【github 有项目】


    环境切换的目的是 准生产和生产环境切换时,只修改一个文件就可以达到效果

    在spring bean 文件中 配置:

        <bean class="cn.zno.common.context.GServletContext"></bean>
    package cn.zno.common.context;
    
    import java.util.Date;
    
    import javax.servlet.ServletContext;
    
    import org.springframework.web.context.ServletContextAware;
    
    public class GServletContext implements ServletContextAware {
    
        private ServletContext servletContext;
        
        @Override
        public void setServletContext(ServletContext servletContext) {
            this.servletContext=servletContext; 
            getServletContext().setAttribute("resouceVersion", new Date().getTime());
            getServletContext().setAttribute("swaggerPath", "http://localhost:8080/cxf-rs-swagger");
        }
        
        public ServletContext getServletContext() {  
            return servletContext;  
        }  
    }

    在index.jsp 中使用

     url = "${swaggerPath}/api/swagger.json";

    再进一步:

    把"http://localhost:8080/cxf-rs" 值配置到 properties 文件中

    swagger.path=http://localhost:8080/cxf-rs-swagger

    spring bean 中

    <util:properties id="config" location="classpath:conf/config.properties"></util:properties>

    常量文件

    package cn.zno.common.constants;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    @Component
    public class ApplicationConstants {
    
    
        public static String SWAGGER_PATH;
    
        @Autowired(required = true)
        public void setSWAGGER_PATH(@Value("#{config['swagger.path']}") String SWAGGER_PATH) {
            ApplicationConstants.SWAGGER_PATH = SWAGGER_PATH;
        }
    }

    使用该常量

    getServletContext().setAttribute("swaggerPath", ApplicationConstants.SWAGGER_PATH);

    完整项目:

    git@github.com:witaste/cxf-rs-swagger.git

  • 相关阅读:
    源码分析:Java对象的内存分配
    源码分析:Java堆的创建
    Java Main如何被执行?
    HotSpot模板解释器目标代码生成过程源码分析
    Java常量池解析与字符串intern简介
    Java类的连接与初始化 (及2013阿里初始化笔试题解析)
    css中对position的几种定位方式的最佳诠释
    DB2学习笔记
    three.js:Failed to execute 'texImage2D' on 'WebGLRenderingContext解决方案
    线程隔离ThreadLocal
  • 原文地址:https://www.cnblogs.com/zno2/p/5553488.html
Copyright © 2020-2023  润新知