Java需要学习哪些框架呢?看着很难的样子,有什么学习技巧吗 为什么感觉Java的框架学习好难,根本看不懂
\u5b66\u4e60java\u9700\u8981\u4ec0\u4e48\u57fa\u7840\u5b66java\u9700\u8981\u6570\u636e\u7ed3\u6784\u57fa\u7840\u3002\u8981\u5b66\u597d\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\uff0c\u6570\u636e\u7ed3\u6784\u662f\u5fc5\u4e0d\u53ef\u5c11\u7684\u77e5\u8bc6\uff0c\u641e\u4e0d\u6e05\u695a\u7b97\u6cd5\u590d\u6742\u5ea6\u7684\u7a0b\u5e8f\u5458\u4e5f\u5c31\u53ea\u80fd\u505a\u505a\u586b\u7a7a\u5f0f\u7684\u589e\u5220\u6539\u67e5\u4e86\u3002
\u4e00\u3001\u638c\u63e1\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027
\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027\u7528\u4e8e\u63cf\u8ff0\u67d0\u4e00\u7c7b\u5bf9\u8c61\u7fa4\u4f53\u7684\u7279\u5f81\uff0c\u800c\u4e0d\u662f\u5355\u4e2a\u5bf9\u8c61\u7684\u7279\u5f81\u3002Java\u4e2d\u5927\u91cf\u5e94\u7528\u4e86\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027\uff0c\u8fd9\u662f\u4e00\u4e2a\u901a\u5e38\u7684\u6280\u5de7\u3002\u4f46\u662f\u8fd9\u79cd\u6280\u5de7\u5728\u5f88\u591a\u8bed\u8a00\u4e2d\u4e0d\u88ab\u9891\u7e41\u5730\u4f7f\u7528\u3002\u7406\u89e3\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027\u5bf9\u4e8e\u7406\u89e3\u7c7b\u4e0e\u5bf9\u8c61\u7684\u5173\u7cfb\u662f\u5341\u5206\u6709\u5e2e\u52a9\u7684\uff0c\u5728\u5927\u91cf\u7684Java\u89c4\u8303\u4e2d\uff0c\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027\u88ab\u9891\u7e41\u4f7f\u7528\u3002
\u56e0\u6b64\u5b66\u4e60\u8005\u5e94\u8be5\u7406\u89e3\u9759\u6001\u65b9\u6cd5\u548c\u5c5e\u6027\u3002Java\u5728\u65b9\u6cd5\u548c\u5c5e\u6027\u7684\u8c03\u7528\u4e0a\u662f\u4e00\u81f4\u7684\uff0c\u533a\u522b\u53ea\u8868\u73b0\u5728\u58f0\u660e\u7684\u65f6\u5019\uff0c\u8fd9\u548cc++\u662f\u4e0d\u540c\u7684\u3002
\u4e8c\u3001\u91cd\u89c6\u63a5\u53e3\u5728\u9762\u5411\u5bf9\u8c61\u65e9\u671f\u7684\u5e94\u7528\u4e2d\u5927\u91cf\u4f7f\u7528\u4e86\u7c7b\u7ee7\u627f\u3002\u968f\u7740\u8f6f\u4ef6\u5de5\u7a0b\u7406\u8bba\u7684\u4e0d\u65ad\u53d1\u5c55\uff0c\u4eba\u4eec\u5f00\u59cb\u610f\u8bc6\u5230\u4e86\u7ee7\u627f\u7684\u4f17\u591a\u7f3a\u70b9\uff0c\u5f00\u59cb\u52aa\u529b\u7528\u805a\u5408\u4ee3\u66ff\u7ee7\u627f\u3002\u8f6f\u4ef6\u5de5\u7a0b\u89e3\u51b3\u6269\u5c55\u6027\u7684\u91cd\u8981\u539f\u5219\u5c31\u662f\u62bd\u8c61\u63cf\u8ff0\uff0c\u76f4\u63a5\u4f7f\u7528\u7684\u5de5\u5177\u5c31\u662f\u63a5\u53e3\u3002\u63a5\u53e3\u8fd1\u5e74\u6765\u9010\u6e10\u6210\u4e3aJava\u7f16\u7a0b\u65b9\u6cd5\u7684\u6838\u5fc3\u3002
\u53e6\u4e00\u65b9\u9762\uff0c\u5c31\u5e94\u7528\u800c\u8a00\uff0c\u5927\u90e8\u5206\u5f00\u53d1\u662f\u5efa\u7acb\u5728\u89c4\u8303\u57fa\u7840\u4e4b\u4e0a\u7684\uff0c\u4e0d\u9700\u8981\u81ea\u5df1\u5efa\u7acb\u590d\u6742\u7684\u7ee7\u627f\u5173\u7cfb\u548c\u5e9e\u5927\u7684\u7c7b\u3002\u56e0\u6b64\u8bfb\u61c2\u89c4\u8303\u548c\u7528\u597d\u89c4\u8303\u5df2\u7ecf\u6210\u4e3a\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u4eba\u5458\u7684\u9996\u8981\u4efb\u52a1\uff0cJava\u5404\u9879\u89c4\u8303\u7684\u4e3b\u8981\u63cf\u8ff0\u624b\u6bb5\u5c31\u662f\u63a5\u53e3\u3002
\u4e09\u3001\u5b66\u597d\u96c6\u5408\u6846\u67b6
Java\u63cf\u8ff0\u590d\u6742\u6570\u636e\u7ed3\u6784\u7684\u4e3b\u8981\u65b9\u5f0f\u662f\u96c6\u5408\u6846\u67b6\u3002Java\u6ca1\u6709\u6307\u9488\uff0c\u800c\u662f\u901a\u8fc7\u5f3a\u5927\u7684\u96c6\u5408\u6846\u67b6\u63cf\u8ff0\u6570\u7ec4\u3001\u5bf9\u8c61\u6570\u7ec4\u7b49\u590d\u6742\u7684\u6570\u636e\u7ed3\u6784\u3002\u5b66\u597d\u8fd9\u4e9b\u6570\u636e\u7ed3\u6784\u7684\u63cf\u8ff0\u65b9\u6cd5\u5bf9\u4e8e\u5e94\u7528\u7a0b\u5e8f\u7f16\u5199\uff0c\u7279\u522b\u662f\u6d89\u53ca\u5230\u670d\u52a1\u5668\u65b9\u30013\u5c42\u7ed3\u6784\u7f16\u7a0b\u81f3\u5173\u91cd\u8981\u3002\u7a0b\u5e8f\u5458\u5728\u8fd9\u4e2a\u65f6\u5019\u4e0d\u80fd\u518d\u7528\u8bf8\u5982\u6570\u636e\u5e93\u7ed3\u679c\u96c6\u4e4b\u7c7b\u7684\u7ed3\u6784\u63cf\u8ff0\u6570\u636e\u4e86\u3002
\u7531\u4e8e\u5f88\u591a\u8bed\u8a00\u6ca1\u6709\u8fd9\u4e48\u5f3a\u5927\u7684\u96c6\u5408\u6846\u67b6\u4f53\u7cfb\uff0c\u5f88\u591a\u521d\u5b66\u8005\u4e0d\u77e5\u6240\u63aa\uff0c\u66f4\u4e0d\u77e5\u9053\u62ff\u6765\u505a\u4ec0\u4e48\u7528\uff0c\u56e0\u6b64\u5e94\u8be5\u5f15\u8d77\u8db3\u591f\u7684\u91cd\u89c6\u3002
\u5148\u5b66\u4f1a\u5e94\u7528\uff0c\u518d\u6df1\u5165\u7406\u89e3\u3002
\u697c\u4e3b\u4e70\u672cspring\u7684\u4e66\u628a\uff0c\u63a8\u8350spring3.x\u4f01\u4e1a\u5e94\u7528\u5f00\u53d1\u5b9e\u6218
\u521a\u5f00\u59cb\u5c31\u662fspring\u7684\u90e8\u5206\uff0c\u8bb2spring\u7684\u914d\u7f6e\u6587\u4ef6\u554a\uff0c\u7ec4\u88c5\u4ec0\u4e48\u7684\u3002
\u540e\u9762\u6709\u8bb2spring\u548c\u5176\u4ed6orm \u6846\u67b6\u7684\u878d\u5408\u90e8\u5206\uff0c\u6709hibernate\u548cmybatis\u7684\u3002
\u770b\u5b8c\u540e\u5e94\u8be5\u80fd\u6e05\u6670\u4e00\u4e9b\uff0c\u7136\u540e\u518d\u7ed3\u5408\u516c\u53f8\u5177\u4f53\u7684\u4ee3\u7801\u914d\u7f6e\u6587\u4ef6\u770b\uff0c\u4e0a\u624b\u5e94\u8be5\u4f1a\u5feb\u4e00\u4e9b\u7684\u3002
一、Java的框架主要有:
SpringMVC、Spring、Mybatis、Dubbo、Maven、RabbitMQ、Log4j、Ehcache、Redis、Shiro。以上十个Java框架并不需要都学会,只要会其中四五个比较常用的就可以了。
第一个,SpringMVC。Spring MVC是一种基于Java实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,主要是帮助我们简化日常的Web开发。
第二个,Mybatis。MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。
第三个,Spring。Spring深得企业的青睐。
第四个,Maven。越来越多的开发人员开始使用maven。
二、学习建议:
刚开始学习Java框架的时候,是要写步骤的,第一步导入jar包;第二步配置相关配置文件;第三步,启动服务器。
当然,重要的是不能死记硬背,因为spring 包中的帮助文档,涵盖了所有的配置过程,自己需要的时候去copy过来就行,这是很好的一种方式,往往自己从头写,会出现拼写错误。对于新手而言,启动的时候,发生错误,那是叫天天不应,叫地地不灵的节奏。
所以我的建议是:自己可以去总结框架搭建环境的流程,把每一步的操作这定好,尽量减少你出错的可能性。但是如果不幸出错了怎么办,尤其是诸如包冲突等等问题,不要太过于着急,网络上啥都能找到。
在搭建好环境之后,不要急着去开发,就像你刚学Java时,会来个hello world;那为何这个时候不可以写个?只是变成了浏览器访问一下而已(这个Hello world在实际开发中,往往是必须的(存活Action,标识你的项目正常启动));如果这个存活Action正常,那么你的Action层就OK了,就可以去做实际开发了。
现在流行的各种框架有很多,诸如:Spring、SpringMVc、ibatis、MyBatis、Hibernate、Jpa、strut1、strut2等等,在学习时代,稍微接触一下还是可以的,但没有必要各个精通或者专研,只要做好学习笔记就行,以后公司用到时,查看一下,很快就可以上手。
个人觉得前期学用法,后期再深入研究原理,我所说的原理,是能自己模拟写出来,写完之后,你会发现看那么多书,说了一大推,还不如自己写一次来得实在。
但是如果你想如鱼得水的使用框架各个特性,那么必须对其全面研究,深入了解。比如说让你写个AOP完成一个功能,很多人学习Spring的时候,听到Aop就吓死了,其实你自己用Java反射机制等,走走看就能明白一些其中的奥秘。而且就公司而言,往往使用的是自己的框架,既然是框架,基本的原理差不多都是可以通用的,所以在学习如何使用之后,深入一下还是有必要的。
学习java,推荐来北京尚学堂,雄厚的师资力量和科学的授课方式,会带给你最完美的学习体验。
框架1:Spring框架
该框架排名第一,因为它具有开发复杂Web应用程序的出色能力,而且,这些应用程序因性能突出而广受赞誉。它使Java开发人员能够轻松地创建企业级应用程序。
Web应用程序开发人员可以证明Spring框架的能力。这就是Spring成为Java开发人员最爱的原因。下面的数据可以证明这一点。以下是开发者(选择Java作为首选的三种编程语言之一)对Java框架的看法:
在开发人员的选择中,Spring MVC和Spring Boot远远领先于其他Java技术。对于开发人员来说,这里的一大优势是他们可以不受其他模块约束而专注于一个模块,因为Spring利用了控制反转(IoC)。
这个框架的其他一些优点是一个全面的配置模型,支持传统数据库和现代数据库(如NoSQL),并通过支持面向方面编程来支持内聚开发。它提供了一些模块,如Spring MVC、Spring Core、Spring Boost、SpringTransaction等。
框架2:Hibernate框架
作为一个对象关系映射(ORM)数据库,它改变了我们以前查看数据库的方式。尽管它不是一个全栈框架,但它可以极其轻松地为多个数据库转换数据。
它支持多个数据库的能力使它很容易扩展,无论应用程序的大小或用户的数量如何。它速度快、功能强大、易于扩展、修改和配置。
框架3:Struts框架
该框架帮助自定义软件开发人员创建易于维护的企业级应用程序。这个框架的USP是它的插件。它们是JAR包,这意味着它们是可移植的。
Hibernate插件和Spring插件分别可以用于对象关系映射和依赖注入。使用此Java框架开发应用程序可以减少处理时间,因为它提供了组织良好的Java、JSP和Action类。
框架4:Play
使用该框架的顶尖公司包括LinkedIn、三星、卫报、Verizon等。这只能说明它的可信度。该框架提供了速度、可伸缩性和性能。
它的用户界面非常简单,使移动应用程序开发人员可以快速理解它。它主要用于开发需要统一内容创建的应用程序。
框架5:Google Web Toolkit
这个框架用于客户端开发,类似JavaScript。它是一个开源的Java框架,这意味着它是免费的。谷歌广泛使用了这个框架,谷歌产品如AdSense、谷歌钱包、AdWords都是使用它编写的。
借助GWT代码,可以轻松地开发和调试Ajax应用程序。Java开发人员更喜欢使用这个框架来编写复杂的应用程序。书签、跨浏览器可移植性、历史记录和管理是它的一些特性。
绛旓細Java寮鍙戞秹鍙婄殑鐭ヨ瘑鐐归潪甯稿箍娉涳紝涓昏鍖呮嫭浠ヤ笅鍑犱釜鏂归潰锛1. Java鍩虹鐭ヨ瘑锛氬寘鎷琂ava璇█鐨勫熀鏈娉曘侀潰鍚戝璞$紪绋嬨佸紓甯稿鐞嗐佹硾鍨嬨侀泦鍚妗嗘灦銆佽緭鍏ヨ緭鍑虹瓑鐭ヨ瘑鐐广2. 鏁版嵁搴擄細闇瑕佸涔SQL璇█浠ュ強鍏崇郴鍨嬫暟鎹簱鐨勮璁′笌浼樺寲锛屾帉鎻℃暟鎹簱杩炴帴姹犮佷簨鍔$瓑鎿嶄綔銆3. Web寮鍙戯細浜嗚ВHTTP鍗忚銆佸墠绔妧鏈紙HTML銆丆SS銆...
绛旓細妯″瀷锛圡odel 锛夊皝瑁呬簡搴旂敤绋嬪簭鐨勬暟鎹拰涓鑸粬浠細缁勬垚鐨凱OJO銆傝鍥撅紙View锛夋槸璐熻矗鍛堢幇妯″瀷鏁版嵁鍜屼竴鑸畠鐢熸垚鐨凥TML杈撳嚭锛屽鎴风鐨勬祻瑙堝櫒鑳藉瑙i噴銆傛帶鍒跺櫒锛圕ontroller 锛夎礋璐e鐞嗙敤鎴风殑璇锋眰锛屽苟寤虹珛閫傚綋鐨勬ā鍨嬶紝骞舵妸瀹冧紶閫掔粰瑙嗗浘娓叉煋銆係pring鐨剋eb妯″瀷 - 瑙嗗浘 - 鎺у埗鍣紙MVC锛妗嗘灦鏄洿缁曠潃澶勭悊鎵鏈夌殑HTTP璇锋眰...
绛旓細Spring鐨勬暟鎹闂灦鏋勮繕闆嗘垚浜咹ibernate鍜屽叾浠朞/R mapping瑙e喅鏂规銆係pring杩樻彁渚涗簡鍞竴鐨勪簨鍔$鐞嗘娊璞★紝瀹冭兘澶熷湪鍚勭搴曞眰浜嬪姟绠$悊鎶鏈紝渚嬪JTA鎴栬匤DBC浜嬪姟鎻愪緵涓涓竴鑷寸殑缂栫▼妯″瀷銆係pring鎻愪緵浜嗕竴涓敤鏍囧噯Java璇█缂栧啓鐨凙OP妗嗘灦锛屽畠缁橮OJOs鎻愪緵浜嗗0鏄庡紡鐨勪簨鍔$鐞嗗拰鍏朵粬浼佷笟浜嬪姟--濡傛灉浣闇瑕--杩樿兘瀹炵幇浣犺嚜宸...
绛旓細涓夊ぇ妗嗘灦锛歋truts+Hibernate+Spring Java涓夊ぇ妗嗘灦涓昏鐢ㄦ潵鍋歐EN搴旂敤銆係truts涓昏璐熻矗琛ㄧず灞傜殑鏄剧ず Spring鍒╃敤瀹冪殑IOC鍜孉OP鏉ュ鐞嗘帶鍒朵笟鍔★紙璐熻矗瀵规暟鎹簱鐨勬搷浣滐級Hibernate涓昏鏄暟鎹寔涔呭寲鍒版暟鎹簱 鍐嶇敤jsp鐨剆ervlet鍋氱綉椤靛紑鍙戠殑鏃跺欐湁涓獁eb.xml鐨勬槧灏勬枃浠讹紝閲岄潰鏈変竴涓猰apping鐨勬爣绛惧氨鏄敤鏉ュ仛鏂囦欢鏄犲皠鐨勩傚綋浣...
绛旓細2018-04-18 java涓渶甯歌鐨勬鏋舵湁鍝簺? 2020-06-11 Java甯哥敤鐨勬鏋舵湁鍝簺? 2020-05-29 浼佷笟涓璊ava甯哥敤鐨勬鏋舵湁鍝簺? 2013-12-27 Java鏈夊摢浜涙鏋舵瘮杈冨父鐢? 5 2020-10-02 甯歌鐨勯笩鏋舵湁鍝嚑绉? 2019-12-30 Java涓鐨勫父鐢ㄦ鏋跺拰鎶鏈湁鍝簺 .. 5 2013-11-25 java涓摢浜涙鏋鏄父鐢ㄧ殑? 2019-04-24 JA...
绛旓細Java妗嗘灦鍙互绠鍖栧紑鍙戦毦搴︼紝鏇翠究浜庢垜浠紑鍙戠▼搴忋傛墍浠ュ濂絁ava妗嗘灦杩樻槸姣旇緝閲嶈鐨勩Java鐨勬鏋涓昏鏈夛細SpringMVC銆丼pring銆丮ybatis銆丏ubbo銆丮aven銆丷abbitMQ銆丩og4j銆丒hcache銆丷edis銆丼hiro銆備笉杩囪繖鍗佷釜鎴戜滑涓闇瑕閮藉浼氾紝鍙瀛︿細鍏朵腑鍥涗簲涓瘮杈冨父鐢ㄧ殑灏卞彲浠ャ1.SpringMVC銆係pring MVC鏄竴绉嶅熀浜嶫ava鐨勫疄鐜颁簡Web ...
绛旓細妗嗘灦鏄▼搴忓憳浠繀瀛︾殑鐭ヨ瘑鐐癸紝鑰屼笖鏄崄鍒嗛噸瑕佺殑搴旂敤锛孲pring銆丼pringMVC銆丮ybatis涔熸槸缁忓吀涓殑缁忓吀锛屾渶甯哥敤鐨勬鏋剁被鍨嬨備綔涓Java鏂版墜搴旇濡備綍鍘诲涔妗嗘灦鍛紵鎼滈泦浜嗗緢澶氱綉鍙嬬殑寤鸿锛岀幇鍦ㄤ负澶у鎬荤粨濡備笅锛氭湁鍚屽寤鸿锛氬浜嶴pring鏉ヨ锛屾渶搴旇瀛︿範鐨勫氨鏄疭pring鐨処OC鍘熺悊锛岃繖鍦ㄤ娇鐢ㄨ繃绋嬩腑鏄繀椤昏鐞嗚В鐨勩佸繀浼氱殑...
绛旓細Java妗嗘灦涓鐩存槸闈㈣瘯鐨勯噸鐐癸紝鍦ㄦ垚鐔熺殑澶у瀷浼佷笟銆佸揩閫熷彂灞曠殑浼佷笟鍜屽垵鍒涗紒涓氫腑閮闇瑕鎺屾彙Java妗嗘灦锛岃繖鏍锋墠鑳藉褰撳墠姝e湪寮鍙戠殑绯荤粺鏈変竴涓ぇ鑷寸殑浜嗚В锛屼互渚挎洿濂藉湴鐔熸倝鍩虹鐭ヨ瘑鍜岀浉鍏虫妧鏈傞偅涔瀛︿範Java甯哥敤鐨勬鏋舵槸浠涔锛搴旇濡備綍浣跨敤鍛紵涓嬮潰鍥為緳瑙傝绠楁満瀛︿範涓哄ぇ瀹跺叿浣撲粙缁嶃係SH妗嗘灦鐨勭粍鍚堜富瑕佺敱Struts锛孲pring锛...
绛旓細璇ラ樁娈垫槸瀛︿範JavaEE鐨勫叆闂ㄩ樁娈碉紝涔熸槸鍩虹闃舵锛屾瘡涓浂鍩虹鐨Java鐨勫涔鑰呴兘蹇呴』鎺屾彙銆闇瑕鐔熺粌鐨勬帉鎻ava鍩虹璇硶锛岄潰鍚戝璞★紝甯哥敤api锛岄泦鍚妗嗘灦锛孖/O鎶鏈紝澶氱嚎绋嬫妧鏈互鍙婂叾浠栧父鐢ㄦ妧鏈紙缃戠粶缂栫▼锛屽弽灏勶紝璁捐妯″紡锛夈2銆佺浜岄樁娈碉細JavaWeb鍩虹 鐔熺粌鎺屾彙鍓嶇鍩烘湰鎶鏈紝Tomcat鏈嶅姟鍣ㄥ父鐢ㄦ妧鏈紝Mysql鏁版嵁搴撳拰JDBC...
绛旓細闅忕潃浜掕仈缃戠殑涓嶆柇鍙戝睍锛岃秺鏉ヨ秺澶氱殑浜洪兘寮濮瀛︿範java缂栫▼寮鍙戣瑷鏉ュ疄鐜颁簰鑱旂綉杞瀷鍙戝睍锛屼粖澶╂垜浠氨涓璧锋潵浜嗚В涓涓嬶紝java缂栫▼寮鍙戦兘鏈鍝簺鍘熺敓妗嗘灦銆俁edHat鍙戝竷浜哘uarkus锛岃繖鏄竴涓负GraalVM鍜孫penJDKHotSpot閲忚韩瀹氬埗鐨凨ubernetes鍘熺敓Java妗嗘灦銆俀uarkus鐨勭洰鏍囨槸浣縅ava鎴愪负Kubernetes鍜屾棤鏈嶅姟鍣ㄧ幆澧冧腑鐨勫钩鍙帮紝涓哄紑鍙...