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”開始,然后是一個長令牌。
這是一個郵遞員介紹,向您展示它的外觀。 將授權值傳遞給它并測試您的呼叫。 這可以在您的代碼中以某種方式復制,以便您可以訪問應用程序內的JWT令牌。 這完全取決于您要如何進行。
僅供參考:郵差是一種工具,使您無需創建任何代碼即可測試GET,POST等。
這是螺絲刀,不是錘子
這些工具可以為您提供幫助。
JHipster隨附的工具箱允許您生成新實體。 您可以生成整個套件和kaboodle(正反),也可以只選擇正反。 鑒于我已經準備好將后端用于新的前端,因此我嘗試了前端生成器,它對您有所幫助。 該示例不包括后端代碼。
yo jhipster:entity student --skip-server生成的代碼如下所示。
這是消除基礎知識的好工具。 實際上,僅當您將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
總結
以上是生活随笔為你收集整理的jhipster_JHipster入门,第3部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json怎么读取数据库_如何:使用Jso
- 下一篇: 教你锁BIOS密码电脑如何锁密码