(1)FPQuant JHipster_总体配置

来源:互联网 发布:单片机 fc音效 编辑:程序博客网 时间:2024/05/16 01:31

本文是对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 0
原创粉丝点击