(1)FPQuant JHipster_总体配置

本文是对JHipster开发文档的部分翻译,供个人学习之用。

原文链接:https://jhipster.github.io/development/


1.配置IDE--IDEA

导入项目:
  • 正常打开项目
  • 会检测到maven,然后自动构建项目
去除包(不一定要执行):
  • 右键node_modules/文件夹
  • 选择"Mark Directory As",选择"Excluded"
Spring支持:

为一个新项目的JHipster模块添加Spring支持

首先打开菜单File->Project Structure->Modules,点击“+”,选择“Spring”将Spring代码添加到项目中。


可能会提示有未映射的Spring配置文件,点击右边的“+”,将所有Spring文件都添加到项目中。


应用热部署:

Spring Boot devtools已经被JHipster配置,当项目的classess编译后会“热重启”应用。

默认情况下IDEA不会在应用运行时自动编译文件,为了启用这一特性:

  • 打开菜单File->Settings->Build,Execution,Deployment->Compiler,选择Make project automatically
  • 打开Action窗口:Ctrl+Alt+Shift+/ (Windows)
  • 进入Registry...,选择compiler.automake.allow.when.app.running




Maven IDE 配置:

如果使用maven,需要激活“IDE”配置,用于执行特定IDE的调整。

打开菜单View->Tool Windows检查IDE maven配置并激活。



2.应用配置

默认情况下JHipster采用“development”配置,我们不需要进行任何改动。

JHipster有两种Spring配置文件俺:

  • dev开发环境配置:为了开发的简易性和效率
  • prod生产环境配置:为了性能和可伸缩性

这些配置文件采用两种配置方式:

  • Maven/Gradle配置文件在构建时使用,例如mvn -Pprod package 或 gradle bootRepackage -Pprod将会把应用打包。
  • Spring配置文件在运行时使用,Spring beans将会根据配置文件有不同的行为。

Spring配置文件由Maven/Gradle来设置,所以这两种方法中有包含关系:可以同时有Maven/Gradle和Spring的prod配置文件。

注意:Spring配置文件用于配置JHipster应用的属性。

默认情况下,JHipster使用dev配置文件:

如果不使用Maven/Gradle运行,在IDE中右击启动Application类。

如果用Maven运行应用,用Maven Wrapper运行./mvnw或用自己的Maven安装运行mvn。

如果用Gradle运行应用,用Gradle Wrapper运行./gradlew或用自己的Gradle安装运行gradle。

当使用Angular 2+,如果需要用dev配置文件允许的webpack编译执行clean run,可以传递webpack参数:./mvnw -Pdev,webpack或./gradlew -Pdev -Pwebpack

生产环境下,JHipster使用prod配置文件:

可以用Maven或Gradle来运行:

  • Maven:./mvnw -Pprod或mvn -Pprod
  • Gradle:./gradlew -Pprod或gradle -Pprod

如果想要将应用打包为WAR文件,可以为Maven或Gradle提供配置文件:

  • Maven:./mvnw -Pprod package或mvn -Pprod package
  • Gradle:./gradlew -Pprod bootRepackage或gradle -Pprod bootRepackage

当使用WAR文件来运行生产环境下的应用,默认使用打包过程中的配置文件。如果想要覆盖,可以用VM参数显式写出替代:

  • ./java -jar jhipster-0.0.1-SNAPSHOT.war --spring.profiles.active=...

Spring 配置文件变换:

JHipster有额外的配置文件可用于变换:swagger用于启动swagger,no-liquibase用于停用liquibase。

这些可以和dev、prod配置文件一起使用。在默认情况下,swagger配置文件在prod中不可用,在dev可通过在application.yml中设置spring.profiles.include属性来启用。

swagger和no-liquibase只能在运行时使用:

  • IDE中,当spring.profiles.active=dev,no-liquibase(需要显式引入dev和prod配置文件)时,运行主应用类
  • 打包的应用中,./java -jar jhipster-0.0.1-SNAPSHOT.war --spring.profiles.active=prod,no-liquibase

使用Maven:

  • ./mvnw -Pprod,swagger,no-liquibase
  • ./mvnw -Pdev,no-liquibase

使用Gradle:

  • ./gradlew -Pprod -Pswagger -Pno-liquibase
  • ./gradlew -Pno-liquibase

Spring配置文件用于配置应用的属性:

JHipster生成一个Spring Boot应用,并且可以用标准Spring Boot属性机制来配置。

这些属性都被JHipster统一配置,通常在开发和生产环境模式下游不同的值。

在JHipster应用中,有三种属性:

  • Spring Boot标准应用属性
  • JHipster应用属性
  • Application-specific属性(特定应用属性)

Spring Boot标准应用属性

不同的属性可以在application.properties或application.yml文件中配置或控制台命令来改变

具体的会在SpringBoot部分中解释。

JHipster应用属性:

JHipster提供了特定的应用属性,这些属性是所有JHipster项目中的标准,但是某些只在你构建项目时选择了才有效,例如jhipster.cache.hazelcast关键字只有当你选择了Hazelcast作为2级Hibernate缓存时才有效。

这些属性使用io.github.jhipster.config.JHipsterProperties类来配置。

说明文档:

jhipster:

    # 用于JHipster异步函数调用的线程池
    async:
        core-pool-size: 2 # 初始化池大小
        max-pool-size: 50 # 最大池大小
        queue-capacity: 10000 # 池队列容量

    # HTTP配置
    http:
        # V_1_1 for HTTP/1.1 or V_2_0 for HTTP/2.
        # 使用HTTP/2需要SSL 支持(见 Spring Boot "server.ssl" 配置)
        version: V_1_1
        cache: # 用于 io.github.jhipster.web.filter.CachingHttpHeadersFilter
            timeToLiveInDays: 1461 # 静态内容默认缓存4年

    # Hibernate二级缓存,用于CacheConfiguration
    cache:
        hazelcast: # Hazelcast configuration
            time-to-live-seconds: 3600 # 默认对象在缓存中保持1小时
            backup-count: 1 # 对象备份数量
        ehcache: # Ehcache配置
            time-to-live-seconds: 3600 # 默认对象在缓存中保持1小时
            max-entries: 100 # 每次缓存开启时对象的最大数量

    # E-mail属性
    mail:
        from: jhipster@localhost # 默认的e-mails发出地址
        base-url: http://127.0.0.1:8080 # 在邮件中使用的应用的URL

    # Spring安全相关配置
    security:
        remember-me: # JHipster对"记住我"机制的安全实现:基于会话的身份验证
            # 安全key(对于你的应用是独有的且应保密)
            key: 0b32a651e6a65d5731e869dc136fb301b0a8c0e4
        client-authorization: # 用于JHipster UAA验证
            access-token-uri: # JHipster UAA服务器OAuth令牌的URL
            token-service-id: # 当前应用的ID
            client-id: # OAuth客户ID
            client-secret: # OAuth客户秘密
        authentication:
            jwt: # JHipster指定JWT实现
                secret: # JWT密钥
                token-validity-in-seconds: 86400 # 令牌在24小时内有效
                token-validity-in-seconds-for-remember-me: 2592000 # "记住我"令牌在30天内有效
            oauth: # 用于JHipster OAuth 2对于MongoDB的特定实现
                client-id: # OAuth客户ID
                client-secret: # OAuth客户秘密
                token-validity-in-seconds: 1800 # 令牌在30分钟内有效

    # Swagger配置
    swagger:
        default-include-pattern: /api/.*
        title: JHipster API
        description: JHipster API documentation
        version: 0.0.1
        terms-of-service-url:
        contact-name:
        contact-url:
        contact-email:
        license:
        license-url:

    # DropWizard Metrics配置,用于MetricsConfiguration
    metrics:
        jmx: # 作为JMX beans导出指标
            enabled: true # JMX默认开启
        # 将指标发送给Graphite服务器
        # 使用"graphite" Maven配置文件以产生Graphite依赖
        graphite:
            enabled: false # Graphite默认关闭
            host: localhost
            port: 2003
            prefix: jhipster
        # 将指标发送给Prometheus服务器
        # 使用"prometheus" Maven配置文件以产生Prometheus依赖
        prometheus:
            enabled: false # Prometheus默认关闭
            endpoint: /prometheusMetrics
        logs: # 在日志中报告Dropwizard指标
            enabled: false
            reportFrequency: 60 # 每秒报告的频度

    # Logging配置,用于LoggingConfiguration
    logging:
        logstash: # 通过socket将日志提交给Logstash
            enabled: false # Logstash默认关闭
            host: localhost # Logstash服务器URL
            port: 5000 # Logstash服务器端口
            queue-size: 512 # 缓存日志的队列
        spectator-metrics: # 在日志中报告Netflix Spectator指标
            enabled: false # Spectator默认关闭

    # Spring Social对Twitter/Facebook/Google验证的特定配置
    social:
        redirect-after-sign-in: "/#/home" # 验证成功后的重定向URL

    # cross-origin resource sharing (CORS)默认关闭,去掉注释以开启
    # 配置标准的org.springframework.web.cors.CorsConfiguration
    cors:
        allowed-origins: "*"
        allowed-methods: GET, PUT, POST, DELETE, OPTIONS
        allowed-headers: "*"
        exposed-headers:
        allow-credentials: true
        max-age: 1800

    # JHipster应用首页左上角的丝带显示
    ribbon:
        #逗号分隔显示丝带的配置文件列表
        display-on-active-profiles: dev

Application-specific属性:

推荐使用自带的Spring Boot属性来生成应用,因为这就会允许应用的类型安全的配置和IDE的自动完成和文档化。

JHipster会在config包中生成一个已经配置过的ApplicationProperties类,并且已经在底部的application.yml、application-dev.yml、application-prod.yml中写入。你只需要编写自己特定的属性即可。




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值