jHipster(J潮客)其亮点:
开场白 最近两,三年(2013-2016),Java 开发领域内刮起一股热腾腾的潮流风。引起世界各地Java开发者蜂拥跟随。这就是Java潮客者(J潮客),称jHipster。根据专家统计,每月下载量约有12000,每月制成的J潮客应用程式有一万份之多。可惜在国内有关J潮客资料及其应用十分稀少, 故此本文提供一些实用有效的信息。Java爱好者可以一起学习和研究。如果一切顺利,不论你是否菜鸟,只需要按照本文提供的步骤工作20-30分钟(不包括安装工作环境),即等于一个有5至7年的Java 经验程式员工作了6个星期的结果:一个完善又先进,配合了Java web 技术趋势,同时具备了制作就绪的基本工作模版。这就是J潮客(jHipster)闪亮卖点。 早在十多年前在道琼斯总部打工时, 时常接触实体或虚撰的Java网络服务器和应用服务器, 其运作十分复杂费时。 就算现今的有关Java web技术, 各种各类特色繁多。例如Java框架技术有Struts,Spring,Hibernate,iBatis,EJB3.0,JPA,等等;还有不少客户端的技术,Javascript, jQuery, Easyui, AngularJs, Velocity ; 数据库有SQL和NOSQL,本文只例举部份而已。选择多多,令人不容易适从。去年笔者希望找到更详细的Spring Framework 4的应用资讯,走遍中国香港广州及深圳各书店,仍然空手而返。原因是技术更新太快,有部份资料刚出版已是旧版本。究竟那项技术好,该用什么客户端,什么样的数据库最适用,相信有不少的争论。而本文的主题是不论菜鸟老手,只要好好地把握当今Java web 技术趋势,分配本身有限的精力,创造出精彩的Java项目! 有关J潮客的应用,会由浅入深,分数期和各位共同学习,敬请各位读者留意为要。
简介J潮客 J潮客(jHipster)是什么东西? 是谁开始的?其实J潮客是开源技术, 在2013年由法国Java专家 Julien Dubois (朱利安 杜波尔斯)率先倡导,至今仍是J潮客项目主导者。简易直说它是工具集堆综合技术,意思是由多种技术工具配置而成的Java Web开发程式产生器。好处是由Java专家累积的开发经验,配上各类实用的框架技术,去繁取精的运用,全方位的配置,制成出完备的开发应用程式,绝对适用于面向服务的体系结构 (SOA). J潮客包括最先进的Java 8,特色是多用注解, 不用XML 配置的组态,配备了全方位的工作环境,从开发,测试,监控到制成,以及云部署。能提供最先进的Java 技术如微服务综合技术 (Microservices)。 主要的技术有以下几种,简单介绍而已。如果想知道更多有关这些资讯,可问百度。
创立项目工具技术选择多
安装J潮客 (jHipster) 建立J潮客 (jHipster) 的工作环境是必须的,需要配备有:
具体详细安装方法,网上多。必须测试好开发环境,各软件工具以最新版本安全运行。 (有关安装开源工具-J潮客,对于菜乌来说,可能是一个挑战,因为它是比较短暂历史,没有具体处理步骤提供,故此本文特别加入十分具体详细安装步骤显示。以便对应是否安装成功。) 安装 J潮客有多种,本文只推荐本地安装法,基本可分Windows 8 和 10; ios 和 Linux.
安装方法: 安装 Yeoman: npm install -g yo 安装 Bower: npm install -g bower 安装 Gulp: npm install -g gulp 安装 JHipster: npm install -g generator-jhipster 粗体字是输入指令(ios): sudo npm install -g yo 在终端 terminal出现以下的显示:(你的可能不完全相同,大概相同就可以) 。。。 /usr/local/bin/yo -> /usr/local/lib/node_modules/yo/lib/cli.js > yo@1.8.4 postinstall /usr/local/lib/node_modules/yo > yodoctor Yeoman Doctor Running sanity checks on your system ✔ Global configuration file is valid ✔ NODE_PATH matches the npm root ✔ Node.js version ✔ No .bowerrc file in home directory ✔ No .yo-rc.json file in home directory ✔ npm version Everything looks all right! /usr/local/lib └── yo@1.8.4 sudo npm install -g bower /usr/local/bin/bower -> /usr/local/lib/node_modules/bower/bin/bower /usr/local/lib └── bower@1.7.9 sudo npm install -g gulp npm WARN deprecated graceful-fs@3.0.8: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0. npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. /usr/local/bin/gulp -> /usr/local/lib/node_modules/gulp/bin/gulp.js /usr/local/lib └─┬ gulp@3.9.1 └─┬ gulp-util@3.0.7 └─┬ dateformat@1.0.12 └─┬ meow@3.7.0 └─┬ loud-rejection@1.4.1 └── currently-unhandled@0.4.1 sudo npm install -g generator-jhipster npm WARN deprecated cross-spawn-async@2.2.4: cross-spawn no longer requires a build toolchain, use it instead! npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm /usr/local/lib └── generator-jhipster@3.4.0 注意: 安装最大的问题是网络通畅,因大部分资源都在外国,你懂的? 在ios 和 Linux方面,安装时常常遇到是权益问题,可用管理员权益处理的。 安装上述的软件,各版本如下: yo@1.8.4 bower@1.7.9 gulp@3.9.1 generator-jhipster@3.4.0 npm@3.9.2 下一个步骤当然是要建立J潮客的应用模版。本文例子是要建立一个叫 kenlen 的应用程式模版。 打开一个终端 terminal或 cmd,用管理员权益安装,选取要安装的磁盘,输入以下指令: mkdir kenlenècd kenlenèyo jhipster (以下是萤幕上显示出来的) Welcome to the JHipster Generator v3.4.0 Application files will be generated in folder: /Users/Emac/kenlen ? (1/16) Which *type* of application would you like to create? Monolithic application (recommended for simple projects) ? (2/16) What is the base name of your application? kenlen ? (3/16) What is your default Java package name? com.emodak.kenlen ? (4/16) Which *type* of authentication would you like to use? HTTP Session Authentication (stateful, default Spring Security mechanism) ? (5/16) Do you want to use social login (Google, Facebook, Twitter)? Warning, this doesn't work with Cassandra! No ? (6/16) Which *type* of database would you like to use? SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle) ? (7/16) Which *production* database would you like to use? MySQL ? (8/16) Which *development* database would you like to use? MySQL ? (9/16) Do you want to use Hibernate 2nd level cache? Yes, with ehcache (local cache, for a single node) ? (10/16) Do you want to use a search engine in your application? Yes, with ElasticSearch ? (11/16) Do you want to use clustered HTTP sessions? No ? (12/16) Do you want to use WebSockets? Yes, with Spring Websocket ? (13/16) Would you like to use Maven or Gradle for building the backend? Maven ? (14/16) Would you like to use the LibSass stylesheet preprocessor for your CSS? No ? (15/16) Would you like to enable internationalization support? Yes ? Please choose the native language of the application? English ? Please choose additional languages to install Chinese (Simplified), Chinese (Traditional) ? (16/16) Which testing frameworks would you like to use? (Press <space> to select)Gatling Installing languages: en, zh-cn, zh-tw 。。。 注意:有颜色的是选择了那些建立应用程式的配置。 如果网络通畅,不会出现问题,建立该应用程式不超过30分钟。但是通常会有些不能下载的资源档案(jar),就要耐心应付的。如果有问题,怎么办呢?本文提供了多种方法处理。何况随时可以问候百度娘的!其中可行方法有: 再输入以下指令: npm install bower install gulp install 根据笔者经验,主要是下载POM的依赖资源,可输入Maven 指令: mvn clean mvn install –U 或 mvn install –U --debug (萤幕显示出那个Jar没能下载) 或者转用淘宝的镜像,用以下指令: npm config set registry https://registry.npm.taobao.org 再输入以上指令。 应用程式的测试和运作 当该项目-kenlen应用程式成功创立了,下一步骤就是测试这模版。首先要建立了该程式使用的数据库。打开MySQL Workbench:(有关MySQL的使用步骤,参考网上MySQL资料) 建立数据库要求: scheme name: kenlen default collation: utf8-utf8_unicode_ci 连接数据库的用户名称:root; 密码: (无) 在那个刚完成创立kenlen模版的终端 terminal或 cmd里,输入: ./mvnw (ios) 或 ./mvnw spring-boot:run mvn (Window 8/10) mvn spring-boot:run 以下是Kenlen开发应用模版各网页显示:
源代码输入Eclipse (STS)或 Intellij IDEA 成功建立了J潮客的应用模版后,当然可以把源代码输入Eclipse 或 STS, 方便修改和删除。输入前要知道该应用模版用什么工具来配置依赖资源:Maven 或 Gradle。
按下一步 (Next)
简单总结一下 不少成功的秘诀教导:若要在这竞争性越来越强的世界里,需要先人一步; 光做到自强不息是不够的,必须借助比自己能力强而累积来的经验,相信这样一定会事半功倍!或者说现今科学发达,日新月异,资讯繁多,怎么样才容易跟上? 笔者以为: J潮客就是一个好好学习的例子。 Jhipster 项目,超越了传统的 Web 应用框架的范畴, 为 Java Web 开发提供了多种架构和解决方案 谁在用 Google 埃森哲 Adobe heroku 普华永道 西门子...(官网可查) 清单中不仅有著名的互联网公司,还有传统企业的信息部门,可见其影响力 你为什么不试试 思路 Jhipster 开源项目由全球富有经验的 Java Web 工程师维护, 提供了一整套标准、前沿、高效的 Java Web 开发环境和示例代码 原本我是不用 Java 的,看到了 Spring Boot 还有些犹豫, 看到 Jhipster 之后,我觉得就是它了 后端 Jhipster 提供了两套后端架构示例代码,单机 Monolithic 和集群 Microservices(二选一) 建立在 Spring Boot 和 Spring Cloud 的基础之上,需要开发人员有一些 Spring Boot 基础 Maven、Gradle 构建工具(二选一) 集成了 Swagger 提供了开发环境和产品环境两种 DevOps 模式,支持 Docker、Jenkins 数据库 支持 MySQL 等关系型数据库和 NoSQL数据库(产品模式)(多选一) 支持 H2 嵌入式数据库(开发模式,提供管理工具) 使用 Liquibase 进行数据库版本控制 数据库缓存,单机 Ehcache 和集群 Hazelcast (二选一) 前端 提供了 AngularJS 和 Angular2+ 两套前端单页示例代码 示例代码中也有 Thymeleaf,也可以使用第三方提供的 React 和 vue 代码 (多选一) 前端 CSS 引入了 Bootstrap,支持 SASS 支持 i18n 构建工具 Gulp + Bower 或 Webpack(根据 ng1 ng2+) 集成了 ng 的一些测试框架(三选一) 目前 ng4 坑还很多,建议先用 ng1、react、vue 中你觉得坑最少的那个 脚手架 新项目在创建之时,已经实现了用户登录系统(三选一),和管理工具页面 官方高度推荐的 CURD 工具(JDL)可以让开发者在项目初期, 通过领域模型的定义,快速生成数据库、后端、以及前端页面 最佳实践 许多脚手架代码,都蕴含了最佳实践,比如: 项目 Leader 是 Spring 界大神, ng2 部分一直由 Google 工程师维护, Hazelcast 官方提供了相关的数据库缓存代码 站在巨人的肩膀上 价值 新人:在一整套集成开发环境和前后分离的示例代码中迅速成长 老鸟:体验全栈和运维的各种新组件,新用法 骨灰:可用的 Microservices 架构 欢迎诸位入坑 本文参考出处: 1,http://www.cnblogs.com/libingbin/ 2,https://www.zhihu.com/question/51082079 另外:既懂程序又会画漫画的码农,你见过么?居然可以把算法画的这么清新脱俗,我也是醉了,有兴趣的可以戳下面红色链接! 漫画:什么是布隆算法 分享:2T架构师学习资料干货分享