jhipster_JHipster入门,第3部分

jhipster

欢迎回到本JHipster教程系列! 在第一部分中,我们介绍了如何创建整体应用程序。 在第二部分中 ,我们逐步创建了一个微服务应用程序(这有点复杂)。

对于那些正在努力使JHipster正常运转的人,我想着重介绍一些设置事项和“陷阱”。 因此,对于那些决定尝试JHipster并尝试使用它的人来说,这个小博客更像是一个帮助者。 这就是我们将在此博客文章中讨论的内容,希望我能帮助您最大程度地缩短起步速度。

MySQL作为数据库。

但是我不想使用内存数据库...

因此,内存数据库非常适合进行测试和入门。 但让我们面对现实吧,内存不太可能用于生产场景。 有时,我认为应该将其完全删除。

无论如何,使用mySQL数据库非常简单,您只需对其进行配置。 真的没有太大的痛苦。

如果您在构建过程中从选择中选择了MySQL,那么大部分工作将为您完成。 您只需要插入您的信息即可。

datasource:url: jdbc:mysql://localhost:3306/your_db?useUnicode=true&characterEncoding=utf8&useSSL=falsename:username: usernamepassword: passhikari:data-source-properties:cachePrepStmts: trueprepStmtCacheSize: 250prepStmtCacheSqlLimit: 2048useServerPrepStmts: truejpa:database-platform: org.hibernate.dialect.MySQL5InnoDBDialectdatabase: MYSQLshow-sql: trueproperties:hibernate.cache.use_second_level_cache: truehibernate.cache.use_query_cache: falsehibernate.generate_statistics: truehibernate.cache.region.factory_class: com.wwc.extendedday.config.hazelcast.HazelcastCacheRegionFactoryhibernate.cache.use_minimal_puts: truehibernate.cache.hazelcast.use_lite_member: true

格林菲尔德schmeenfield…

当然,由于我们都有一个绿色的字段数据库,因此为您设置的列命名约定很好。 整理您的餐桌将变得轻而易举。

好吧,好吧,我知道,在现实世界中成为绿色应用的可能性很小。 通常,某个地方已经有一个数据库,其中的列名很好。 可能您已经有一个要重用的数据访问层,因为我们都讨厌“再次”这样做。

因此,唯一的问题是,在启动和/或尝试获取数据时,您会不断收到该列不存在的错误。 到底是什么造成了这场噩梦?

经过数小时的搜索(相信我做到了),我突然意识到我以前已经处理过这种愚蠢的行为。 默认的命名策略必须更改! 缺省值为SpringNamingStrategy并且必须更改为EJB3NamingStrategy ,该EJB3NamingStrategy将尊重具有给定(或不明确)列名的所有注释。 如果您要重用的原始代码是使用SpringNamingStrategy生成的,则只需忽略此SpringNamingStrategy ,然后继续进行即可。 否则,请在相应的application.yml文件中找到它并进行更改。

jpa:open-in-view: falsehibernate:ddl-auto: none#naming-strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategynaming-strategy: org.hibernate.cfg.EJB3NamingStrategy

在旧橡树上系一条缎带。

功能区超时

因此,您已经启动并正在运行,并且想要将数据输出到页面,但是它会一直超时! Aaarrgggghhhh !!! 您的数据太多!

因此,默认情况下,超时非常快。 但是,让我们面对现实吧,大多数客户希望所有数据都在一个呼叫中通过。 再次,我在这里为您服务!

我搜索了相当长的时间来延长超时时间。 我为此找到了正确的配置。 您可以通过多种方式来执行此操作,但是此“修复”为所有呼叫提供了更多时间。 看看这个!

eureka:instance:appname: ExtendedDayGatewayinstanceId: ExtendedDayGateway:${spring.application.instance_id:${random.value}}ribbon:eureka:enabled: truezuul:host:connect-timeout-millis: 10000socket-timeout-millis: 60000hystrix:command:default:execution:isolation:thread:timeoutInMilliseconds: 60000

您看不到,对不起...

给它一些方向。

如果您已将项目作为微服务启动并运行,但是由于未经授权的调用而无法使数据端点向您提供数据,请确保已正确设置服务。

默认情况下,生成的服务假定端点在同一项目中。 您必须花时间给正确的方向。 因此,在service文件中,您必须在调用之前添加端点API名称。 在此示例中, extendeddayapi是端点的名称。

(function() {'use strict';angular.module('extendedDayGatewayApp').factory('Students', Students);Students.$inject = ['$resource'];function Students ($resource) {var resourceUrl =  'extendeddayapi/api/students';return $resource(resourceUrl, {}, {'query': { method: 'GET', isArray: true},'get': {method: 'GET',transformResponse: function (data) {if (data) {data = angular.fromJson(data);}return data;}},'update': { method:'PUT' }});}
})();

没有存款,没有回报。

某些人可能不希望通过JHipster应用程序等使用Angular前端。如果采用这种方法,请确保将令牌传递给您正在对后端进行的所有调用。 登录后可以检索JWT令牌,并将其传递给所有后续调用。

有很多不同的方法可以做到这一点。 我将把您留在这里的设备上。 通过JHipster登录后,将生成JWT令牌。 您应该能够通过查看身份验证呼叫的响应来进行检索。 您会注意到“授权”字段及其后的值。 它将从“ Bearer”开始,然后是一个长令牌。

jhipsterseriespart3-1

这是一个邮递员介绍,向您展示它的外观。 将授权值传递给它并测试您的呼叫。 这可以在您的代码中以某种方式复制,以便您可以访问应用程序内的JWT令牌。 这完全取决于您要如何进行。

仅供参考:邮差是一种工具,使您无需创建任何代码即可测试GET,POST等。

jhipsterseriespart3-2

这是螺丝刀,不是锤子

这些工具可以为您提供帮助。

JHipster随附的工具箱允许您生成新实体。 您可以生成整个套件和kaboodle(正反),也可以只选择正反。 鉴于我已经准备好将后端用于新的前端,因此我尝试了前端生成器,它对您有所帮助。 该示例不包括后端代码。

yo jhipster:entity student --skip-server

生成的代码如下所示。

jhipsterseriespart3-3

这是消除基础知识的好工具。 实际上,仅当您将JHipster Angular应用程序用作前端时,它才有帮助。

再见了再见

这样就结束了JHipster传奇。 我知道此助手列表很短,但对我来说却非常耗时。

继续,与大家分享

不知道从哪里开始我对JHipster的想法的概述。 考虑到真正进入该市场的机会有限,我只会给我“第一印象”。

很大…

开箱即用的东西数量很大,但还不算很多。 看到所有这些东西都是开箱即用的,不知道它在做什么,这是令人畏惧的。 尽管我喜欢拥有所有这些功能,但我觉得我没有时间学习所有功能,或者至少足够舒适地向提出要求的人解释这些功能。

我们可以换个角度...

我不是Angular的忠实粉丝。 公平地说,我没有过多地研究它。 JHipster使用Angular 1有点令人沮丧,但是Angular 2可用。 作为一个新手,我宁愿学习“未来”,也不愿停留在过去。 我知道您可以使用React JS的一种风格,但是同样,有些人可能对此表示反对。 为什么我需要JHipster为我承担前端堆栈?

启动缓慢...

我没有检查这里是否还有其他选项,但是在构建整体式或网关应用程序时,npm install和bower install非常慢。 有点关了。 我想赶紧启动该应用程序。 但是,相比之下,实际上每个应用程序只执行一次。 所以这有点折腾。

给它启动...

这是一个良好的启动。 到目前为止,我非常喜欢使用Spring Boot。 它使使用Web应用程序变得非常容易。 无需费力地将工具安装到IDE中,就可以使用所选的任何服务器。 只需启动它,它的工作就非常简单。 Spring Boot的最大缺点可能是它在运行多个线程时开始消耗内存。

诚实的反馈…

在玩了一段时间之后,我确实喜欢它的微服务方面。 对我来说,创建所有这些面向服务的应用程序似乎是一个好主意。 我不是100%出售JHipster的需求,但我愿意尝试一下。 我可能只想制作一个简单的SPA,即可提供后端,并为前端提供一些非常简单的东西,例如BackboneJS。 我决不排除Angular或React,但是这是我必须花多少时间学习新知识的一个方面。

我将尽力将现有的单片应用程序(JSF)过渡到JHipster和微服务体系结构。 也许它将提供另一个机会为每个人写我的经验博客。

感谢您抽出宝贵的时间阅读! 祝你好运!

翻译自: https://www.javacodegeeks.com/2016/10/getting-started-jhipster-part-3.html

jhipster

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jhipster_JHipster入门,第2部分

jhipster所以你回来了! 在本系列的最后一部分中 ,我们采用了单片路线创建了一个JHipster应用程序。 这是红色药丸路线; 生活几乎与您习惯的一样。 但是也许您喜欢挑战。 也许您想超越红色药丸并尝试蓝色药丸。 在这种情况下,Blue…

HH SaaS电商系统的虚拟资金账户(钱包余额)设计

文章目录方案一,将资金账户抽象出来虚拟资金账户余额流水记录实体方案二,用户表直接保存资金余额余额流水记录实体方案一,将资金账户抽象出来 虚拟资金账户 P.S. 如果机构代码和消费代码有区分类型,那么资金账户表中就不必保存“…

jhipster_jHipster入门,第1部分

jhipster因此,您想保持技术的领先地位,但对所有活动部件感到不知所措。 你真幸运! 这就是jHipster发光的地方。 如果您喜欢Ruby on Rails或Grails的方法来快速启动和运行应用程序,那么这可能是适合您的选择。 jHipster旨在使设置…

java基准测试_微基准测试进入Java 9

java基准测试我已经几个月没有在这里写文章了,这种例外还会继续。 我计划在明年三月左右恢复写作。 本文末尾的说明。 等待! 不完全是最后,因为您可以向下滚动。 它在文章结尾处。 继续阅读! 三年前,我在写有关Java编…

python周天为一周的开始_从两个月减肥四十斤说起,不懈坚持,才是一个人最核心的竞争力。...

大学毕业了十年,我的身材失控了十年。我对我的胖身材已经习以为常了十年了,我从来没想过改变,因为我也没有毅力改变。有一句话说的,人越胖,就越懒。因为我胖,所以我不跑步,我也不爱外出。只要你…

java实现线程的方式_java多线程实现的四种方式

java多线程实现的四种方式1、继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口)2、实现Runnable接口,重写run方法3、实现Callable接口,重写call方法(有返回值)4、使用线程池(有返回值)1、继承Thread类,重写run方法…

本地运行flowable_在CockroachDB上运行Flowable

本地运行flowable什么是CockroachDB? CockroachDB是一个我一直关注了很长时间的项目。 这是一个开放源代码的Apache 2许可数据库( Github链接 ),该数据库在很大程度上汲取了Google Spanner白皮书的启发 。 它的核心是可水平扩展的…

win10禁用驱动程序强制签名_图文细说 win10系统未检测到第三个监视器的途径 -win10使用教程...

据统计调查,好多朋友都在为图文细说 win10系统未检测到第三个监视器的途径 的问题而烦恼,小编决定将解决的办法分享给大家。对于电脑菜鸟而言看到图文细说 win10系统未检测到第三个监视器的途径 是很无奈的,试着独自一个人解决图文细说 win10…

安装openstack_午餐前如何安装OpenStack Cloud

安装openstack图1. QuickStart的内部工作原理 云安装程序 如果我告诉您可以在必须停下来吃午餐之前进行OpenStack Cloud环境设置,该怎么办? 您会感到惊讶吗? 你今天可以做吗? 在大多数情况下,我敢打赌您的答案是不…

5e怎么绑定一键跳投_怎么开通淘宝亲情账号 淘宝亲情账号申请步骤【详解】

据官方消息,淘宝将在2月1日上线“亲情账号”功能。那么 淘宝亲情账号怎么开通?在哪申请? 下面为大家介绍下,一起来看看。亲情账号用户在淘宝账号中可以创建“父亲”或“母亲”角色关系,对父母发出注册邀请或直接绑定他们的账号。完成亲情关…

windows功能_你的Windows杀毒软件有这个功能吗?

安全软件首推-火绒,良心之作。比起360安全卫士、腾讯电脑管家,它无广告,无捆绑,无劫持,无弹窗,还免费。我认为最喜人最贴心的功能属它的‘弹窗拦截’了,可以拦截程序推送烦人的弹窗。五大浓缩亮…

base64 二进制流java_读取和base64编码二进制文件

我m trying to read a binary file from the filesystem and then base64 encode it in JavaScript. I使用FileReader API读取数据并找到base64编码器here .我的代码似乎接近工作,问题是生成的base64数据是错误的 . 这是我到目前为止所得到的:function s…

drools dmn_使用Drools的DMN运行时示例

drools dmn正如去年宣布的那样 ,Drools 7.0将在合规级别3对DMN模型提供全面的运行时支持。 在撰写本文时,运行时实现已完成,并且该团队现在正在努力进行改进,以进行错误修复和用户友好。 不幸的是,对于7.0版本&#…

笔记本电脑关机后指示灯还亮_汽车仪表常见指示符号之清洗液指示灯,灯亮了怎么办?...

清洗液指示灯就是玻璃水指示灯,用来显示玻璃水的储存量的,平时为熄灭状态,当玻璃水不足时就会点亮提醒驾驶员该添加了。添加后清洗液指示灯还亮的说明出现故障,检查玻璃水电机,相关线路保险丝等,行车中此灯…

xxx钻石商城功能开发需求

文章目录1. 买家小程序端1.1. 首页1.2. 店铺1.2.1. 搜索门店1.2.2. 门店信息1.2.3. 预约试戴1.3. 购物袋1.3.1. 加入购物车1.3.2. 编辑购物车1.4. 个人中心1.4.1. 个人信息1.4.2. 实名认证1.4.3. 我的等级1.4.4. 查看收益1.4.4.1 门店收益1.4.4.1.1查看结算单1.4.4.2 分享收益1…

drools6.5_Drools 6.5.0.Final可用

drools6.5最新和最出色的Drools 6.5.0.Final版本现已可供下载。 这是我们以前的版本的增量版本,重点是一些重要的改进以完善6.x系列。 您可以在此处找到更多详细信息,下载和文档: Drools网站 资料下载 文献资料 发行说明 请阅读下面的一…

c++ vector 一部分_C++ vector 使用注意事项

1、初始化c 11以后新增了大括号{}的初始化方式&#xff0c;需要注意与()的区别,如&#xff1a;std::vector<int> vecTest1(5); //初始化5个元素&#xff0c;每个都是0std::vector<int> vecTest2{ 5 }; //初始化1个元素&#xff0c;值是52、添加元素&#xff1a;pus…

react打包后图片丢失_React中型项目的优化实践

本文可能涉及的内容--项目介绍整个项目大概有60个页面&#xff0c;用到的组件大概150&#xff0c;package里面的依赖大概有70个&#xff0c;应该勉强算得上是一个中型的React的项目了。下面给大家看看我们现在build一次项目的结果--打包时间约150s&#xff0c;打包完之后的资源…