java主要是什么 什么是JAVA組件?
什么是JAVA組件?java中的組件是:java實(shí)際上都是類。組件是抽象的概念而已,通俗的說是一些符合某種規(guī)范的類組合在一起就構(gòu)成了組件。他可以提供某些特定的功能。拿J2EE來說,有什么servlet
什么是JAVA組件?
java中的組件是:java實(shí)際上都是類。組件是抽象的概念而已,通俗的說是一些符合某種規(guī)范的類組合在一起就構(gòu)成了組件。他可以提供某些特定的功能。拿J2EE來說,有什么servlet,jsp,javabean,ejb都是組件。但實(shí)際他們都是類,只不過有他們特殊的規(guī)定。舉個(gè)例子,那個(gè)javabean來說:javabean也就是個(gè)類,但你的類想成為javabean你必須,給你的類里的變量(如xxx),添兩個(gè)函數(shù),getXxx()和setXxx()并且類里要有無參的構(gòu)造函數(shù)。有了這些就是JAVABEAN了。你要問為什么要有這些規(guī)定呢,目前只能說組件之間要想相互使用必須得有一種規(guī)范來約束。等你接觸多了就更理解了。
如何領(lǐng)悟Java三大框架?
Hibernate:
Hibernate主要就是ORM(對(duì)象關(guān)系映射)由框架 配置文件實(shí)現(xiàn)的。讓實(shí)體類和數(shù)據(jù)庫(kù)表進(jìn)行一一對(duì)應(yīng)關(guān)系。讓實(shí)體類先和數(shù)據(jù)庫(kù)表對(duì)應(yīng),讓實(shí)體類屬性和數(shù)據(jù)庫(kù)表中字段一一對(duì)應(yīng)。這樣就不需要操作數(shù)據(jù)庫(kù)表,而操作表中對(duì)應(yīng)的實(shí)體類對(duì)象。以此來實(shí)現(xiàn)對(duì)應(yīng)的增刪改查操作。
同樣對(duì)于dao層的框架還有Mybatis,Mybatis不是一個(gè)完全的ORM框架,MyBatis的sql需要開發(fā)人員自己編寫,但同時(shí)提供了輸入和輸出的自動(dòng)映射,所以可以認(rèn)為是半自動(dòng)的ORM框架。Mybatis可以通過XML或注解方式靈活配置要運(yùn)行的sql語句,并將java對(duì)象和sql語句映射生成最終執(zhí)行的sql,最后將sql執(zhí)行的結(jié)果再映射生成java對(duì)象,對(duì)于不斷變更的客戶需求更加靈活。但是靈活的前提是Mybatis無法做到數(shù)據(jù)庫(kù)無關(guān)性,如果需要實(shí)現(xiàn)支持多種數(shù)據(jù)庫(kù)的軟件則需要自定義多套sql映射文件,工作量大。而Hibernate對(duì)象關(guān)系映射能力強(qiáng),數(shù)據(jù)庫(kù)無關(guān)性好。
Struts2:
Struts2處理請(qǐng)求是為每個(gè)請(qǐng)求都創(chuàng)建一個(gè)單獨(dú)的Action類,Action類當(dāng)中的Field屬性參數(shù)作為輸入和輸出參數(shù)用IOC來依賴注入的方式,是基于類的開發(fā)。
同樣的SpringMVC則采用輸入Request和Reponse作為參數(shù),返回ModelAndView的方式,是單例的模式,且是基于方法的模式。
spring:
Spring最核心的概念就是DI(依賴注入)和AOP(面向切面編程),DI也稱為IoC(控制反轉(zhuǎn))。有了Spring之后,通過IOC,所有的對(duì)象都可以從Spring容器中得到。每個(gè)對(duì)象由Spring注入到對(duì)應(yīng)的地方。通過IoC先由Spring創(chuàng)建對(duì)象后,才能進(jìn)行下一步對(duì)象注入(DI),所以說DI依賴IOC。