• 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

  • 相关阅读:
    springtools插件的安装
    Spring--Bean的配置
    BS模式与CS模式的区别
    AMD 和 CMD 的区别有哪些?
    js中import和require的区别
    6个最优秀的微信小程序UI组件库
    微信小程序获取formid
    NodeJs 实现简单WebSocket 即时通讯
    NodeJS怎么实现WebSocket功能
    NodeJs实现WebSocket——express-ws
  • 原文地址:https://www.cnblogs.com/zno2/p/5553488.html
Copyright © 2020-2023  润新知