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,一经查实,立即删除!

相关文章

什么是UID、UED、UXD、IXD、UCD、IAD,看这篇就足够了

文章目录UID: User Interface Design 用户界面设计UI:User Interface(用户界面)UID(用户界面设计师)UID认知现状UED: User Experience Design 用户体验设计UE or UX: User Experienc…

jhipster_JHipster入门,第2部分

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

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

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

jhipster_jHipster入门,第1部分

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

mysql中show属于_mysql show的常见用法

a. show tables或show tables from database_name; // 显示当前数据库中所有表的名称b. show databases; // 显示mysql中所有数据库的名称c. show columns from table_name from database_name; 或show columns from database_name.table_name; // 显示表中列名称d. show gra…

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

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

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

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

MySQL之命令mysql -- MySQL服务器的客户端工具

文章目录命令介绍选项说明-A--executestatement, -e statement参考示例登录数据库执行指定的脚本文件将指定脚本文件的内容导入(或者重载)到指定数据库中命令介绍 mysql 命令是 MySQL 数据库服务器的客户端工具,它工作在命令行终端中&#x…

eclipse中ast_JavaParser中AST节点的观察者

eclipse中ast我们离JavaParser 3.0的第一个候选发布版本越来越近。 我们添加的最后一项功能是支持观察抽象语法树的所有节点的更改。 当我为此功能编写代码时,我收到了Danny van Bruggen(又名Matozoid)和Cruz Maximilien的宝贵反馈。 因此&am…

java模拟登陆_java-模拟登陆练习(示例代码)

package com.day5.test;import java.util.Scanner;public class Test1 {/*** param args* 需求:模拟登陆,给三次机会,并提示还有几次* 用户名和密码都是admin* 分析:* 1,模拟登陆,需要键盘录入,…

电商系统的积分(即金币)的设计方案

积分其实就是金币 有些平台把积分和金币拆开独立设计,把金币设计成虚拟货币,而积分可以抵现或者兑换金币,金币可以提现。但是很多平台又将金币和积分的功能合并一起,既可以抵现,又可以提现,而且金币和现金的…

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

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

产品经理是如何管理需求

文章目录一、怎么发现需求二、如何判断需求三、定义用户需求四、定义产品需求五、评估产品需求六、管理产品需求一、怎么发现需求 1、什么是需求 特定的人在特定的情况下产生了特定的问题,并且这种问题是可以被解决的,我们就可以把它叫做需求 2、需求从…

spring boot缓存_Spring Boot和缓存抽象

spring boot缓存缓存是大多数应用程序的主要组成部分,只要我们设法避免磁盘访问,缓存就会保持强劲。 Spring对各种配置的缓存提供了强大的支持 。 您可以根据需要简单地开始,然后进行更多可定制的操作。 这将是spring提供的最简单的缓存形式…

有c基础学java多久_有c十十基础的自学java语言每天6小时要多长时间?

建议花6个月学习。1、前面2个月学习下面这本书。2、后面4个月同时学习数据结构与算法 刷LeetCode 学习Spring BootSpring boot 看这本书 官方文档 找点视频看看。Spring Boot provides a variety of features that address todays business needs with a powerful database…

Apache的架构师总结出30条架构设计原则

Srinath是一位科学家,软件架构师,也是一名在分布式系统上工作的程序员。 他是Apache Axis2项目的联合创始人,也是Apache Software基金会的成员。 他是WSO2流处理器(wso2.com/analytics)的联席架构师。 Srinath撰写了两…

本地运行flowable_在CockroachDB上运行Flowable

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

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

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

HH SaaS电商系统的各种编号(编码/代码/代号)设计

文章目录主订单编号规则一(租户内唯一)主订单编号规则二(租户内唯一)子订单编号规则(租户内唯一)租户编号规则(系统内唯一)供应商编号规则(租户内唯一)平台编…