(1)FPQuant JHipster

    xiaoxiao2021-03-25  61

    本文是对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 -PprodGradle:./gradlew -Pprod或gradle -Pprod

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

    Maven:./mvnw -Pprod package或mvn -Pprod packageGradle:./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中写入。你只需要编写自己特定的属性即可。

    转载请注明原文地址: https://ju.6miu.com/read-18281.html

    最新回复(0)