JHipster简介

  JHipster或者称Java Hipster,是一个应用代码产生器,能够创建Spring Boot + AngularJS的应用。开源项目地址:JHipster/Github。

  JHipster使用Node.js和Yeoman产生Java应用代码,使用Maven(Gradle)运行产生的代码,产生代码有如下关键特征:

  • src/main/java 目录有Spring Boot 配置类在theconfig包中,JHipster使用Spring的Java 配置,没有XML配置.
  • JPA实体或MongoDB文档类是在domain包. JPA实体使用缓存和auto-generated 主键配置. 如果你使用JHipster产生你的JPA实体, 可以创建1:N和N:N关系。
  • 在repostiory包中是Spring Data 仓储.
  • 可选,你有通常@Service-beans 在服务层. 这些服务通常是配置为事务的 安全的业务对象。
  • REST 端点存在web.rest 包中, 支持Spring MVC的REST
  • JHipster也产生 Liquibase 改变日志文件,用来处理数据库更新,增加一个实体将创建特定的schema更新,这将会版本化,当应用重启时可被执行。
  • 集成Spring的 Test 上下文测试支持.
  • JHipster 创建完整可用的AngularJS 前端,使用CRUD来管理你产生的实体。

安装使用步骤

  JHipster首先需要下载安装,有两种安装方式,正常的本地安装和Docker安装,本地安装步骤如下:

  • 安装Java: the Oracle website.
  • 安装 Maven (推荐). 如果你使用 Gradle ,就不要安装Maven,JHipster已经有Gradle Wrapper.
  • 从git-scm.com安装Git,推荐安装SourceTree
  • 安装Node.js :the Node.js website. 也要安装npm,
  • 安装Yeoman: npm install -g yo
  • 安装Bower: npm install -g bower
  • 安装 Grunt (recommended) : npm install -g grunt-cli 或安装 Gulp.js : npm install -g gulp.
  • 安装 JHipster: npm install -g generator-jhipster

  安装完毕可以快速产生应用代码,键入如下,浏览器打开http://localhost:8080运行

  yo jhipster

  创建应用后,下面需要创建业务实体,包括下面部件:

  • 数据库表
  • Liquibase 改变日志
  • JPA实体代码
  • Spring Data JPA 仓储代码
  • Spring MVC REST 控制器,处理CRUD 操作
  • AngularJS 路由,控制器
  • HTML 视图

  假设产生author实体,运行下面命令,然后添加字段:

  yo jhipster:entity author

使用JHipster开发

  一旦使用JHipster产生实体和服务以及前端AngularJS的CRUD以后你就需要开始编码,也就是说,JHipster帮助你完成项目的初始化配置模板。

  JHipster提供命令行工具来构建和更新你的应用,Grunt或Gulp.js帮助你构建前端,比如运行grunt serve将启动由Grunt管理的浏览器,当你的HTML JS或CSS代码变动时,就会自动刷新;Bower让你升级或安装Javascript或CSS库包,比如运行bower install ng-table 将安装 ng-table。

  你还能使用Spring Boot Maven插件从命令行运行你的Spring Boot应用:mvn spring-boot:run

  你能使用Maven Liquibase 的diff自动产生一个Liquibase 改变日志,运行mvn liquibase:diff,将能检查现有的数据库表结构和你已经修改JPA代码有哪些差别,产生改变日志是为了自动更新你的数据库表结构。

  你也能使用Docker设置你的开发环境,特定的jhipster-docker项目专门为此创建。

在产品环境管理应用

  JHipster应用已经默认配置了admin用户,能够访问管理员的页面,三个最有趣的页面是:API页面(使用Swagger),度量页面和日志页面。API页面是陈列了你的Spring Boot应用的REST API,能够让前端开发人员使用Angular.JS调用;度量页面是使用Dropwizard Metric,让你能够发现你应用性能有关细节,包括Spring bean的方法性能;日志页面使用Logback而且让你可以在运行时改变日志级别,比如你可以改变Spring Security日志级别显示出有关你的安全配置的细节信息。

  JHipster有development 和 production模型,production模型能最小化和优化前端,比如Gzip压缩,Http缓存等,为了测试production模型,使用prod配置(Maven和Gradle都适用)运行你的应用:mvn spring-boot:run -Pprod。使用Chrome开发工具,你能检查你应用的性能。

JHipster简介的更多相关文章

  1. JHipster技术栈理解 - UAA原理分析

    本文简要分析了UAA的认证机制和部分源码功能. UAA全称User Account and Authentication. 相关源码都是通过Jhipster生成,包括UAA,Gateway,Ident ...

  2. JHipster技术简介

    本文简单介绍Jhipster是什么,为什么用Jhipster,怎么用Jhipster. WHAT - 技术栈 JHipster是什么 JHipster是一个开发平台,用于生成,开发,部署Spring ...

  3. 使用jhipster搭建微服务--简单demo

    简介 jhipster简单来说是一个基于nodejs+yeoman的java代码生成器.往大了说是基于java的一套微服务解决方案.请注意是一整套的微服务解决方案.jhipster在整个程序架构上都做 ...

  4. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  5. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  6. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  7. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  8. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  9. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

随机推荐

  1. QC3.0充电标准

  2. 继续写java和socket

    上回书说道,java中通过socket链接的两台计算机可以通过两端的两个Socket对象来读取和发送来自流的信息所以对于客户端和服务端只需要封装一个相同的收发信息的窗口就好 代码如下 package ...

  3. BInsertSort

    #include <bits/stdc++.h> using namespace std; #define MAXSIZE 200000 typedef int KeyType; type ...

  4. 引擎设计跟踪(九.14.3.4) mile stone 2 - model和fbx导入的补漏

    之前milestone2已经做完的工作, 现在趁有时间记下笔记. 1.设计 这里是指兼容3ds max导出/fbx格式转换等等一系列工作的设计. 最开始, Blade的3dsmax导出插件, 全部代码 ...

  5. 使用GDB调试将符号表与程序分离后的可执行文件

    环境: Centos7.3.GCC4.8.5 适用场景: 由于调试信息比较大,通常将程序分离为可执行程序和符号信息文件,只对外发布可执行程序,需要调试时再将符号信息文件附加. 一.创建可执行程序: u ...

  6. 面向对象编程导论 An Introduction to Object-Oriented Programming (Timothy 著)

    第1章 面向对象思想 第2章 抽象 第3章 面向对象设计 第4章 类和方法 第5章 消息,实例和初始化 第6章 案例研究: 八皇后问题 第7章 研究研究: 台球游戏 第8章 继承与替换 第9章 案例研 ...

  7. 命令生成所有数据库表模型以及 CRUD

    将下列代码写到文件复制到项目 console\controller 目录下: <?php namespace console\controllers; use Yii; use yii\cons ...

  8. 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】

    https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ...

  9. MD5 Hashing in Java

    参考: MD5 Hashing in Java

  10. 未来-IOT-Aliyun:阿里云 IOT - 开发者社区

    ylbtech-未来-IOT-Aliyun:阿里云 IOT - 开发者社区 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://dev.iot. ...