maven搭建web項(xiàng)目和spring的IoC(Inversion of Control)

maven搭建web項(xiàng)目和spring的IoC(Inversion of Control)

一?? ??在IDEA 中使用maven創(chuàng)建web項(xiàng)目

第一種:創(chuàng)建一個(gè)空的maven項(xiàng)目(不勾選create from archetype),在/src/main下創(chuàng)建webapp包,webapp下創(chuàng)建WEB-INF包,WEB-INF下新建web.xml;再在pom.xml中寫(xiě)<packaging>war</packaging>,將tomcat插件寫(xiě)入(該tomcat與本地的tomcat無(wú)關(guān)),再將view中的maven打開(kāi),刷新,點(diǎn)擊tomcat????--->tomcat7:run

第二種:創(chuàng)建一個(gè)maven-archetype-webapp的maven項(xiàng)目;將tomcat插件寫(xiě)入pom.xml;在Edit Configurations? ->+->maven,在Command line 行寫(xiě)tomcat7:run

二????eclipse?maven創(chuàng)建web項(xiàng)目

新建maven project(勾選Create? a simple project) ->Group Id(包名) Artifact id(項(xiàng)目名) packing(可選擇類(lèi)型:war) ->項(xiàng)目創(chuàng)建后會(huì)報(bào)錯(cuò)(找不到web.xml) ->右擊項(xiàng)目,點(diǎn)擊JavaEE Tools->Generate Deployment...->刷新,建一個(gè)頁(yè)面->將相關(guān)插件添加到pom.xml中(項(xiàng)目會(huì)有小叉)->右擊項(xiàng)目->maven->update project->運(yùn)行項(xiàng)目:右擊項(xiàng)目->Run:As->maven bulid(有兩個(gè),第二個(gè)可以手動(dòng)執(zhí)行命令tomcat7:run)

三? ? spring的IoC

1? ? spring

Spring框架主要由七部分組成契讲,分別是 Spring Core仿吞、 Spring AOP、 Spring ORM捡偏、 Spring DAO唤冈、Spring Context、 Spring Web和 Spring Web MVC银伟。

2????IoC

(1)????在pom.xml中添加spring-context依賴(lài)

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->

<dependency>

? ? <groupId>org.springframework</groupId>

? ? <artifactId>spring-context</artifactId>

? ? <version>5.2.1.RELEASE</version>

</dependency>

(2)????sts可以直接創(chuàng)建spring bean configuration file,eclipse不可以,需要手動(dòng)編寫(xiě)如下

(3)????spring容器默認(rèn)生成的對(duì)象為singleton(單例模式,獲取的是同一個(gè)bean即為同一對(duì)象),? score="prototype"多例(Java項(xiàng)目?jī)蓚€(gè),web項(xiàng)目四個(gè),多了request和session)

想通過(guò)id獲取bean,要有無(wú)參構(gòu)造<bean id="student1" class="com.qianfeng.Student"/>

(4)????無(wú)參構(gòu)造器和propertyerty對(duì)象賦值,必須要有標(biāo)準(zhǔn)的setter方法,因?yàn)閜roperty和JavaBean中的setter方法相關(guān)

<property name="sid" value="1"></property>

(5)????有參構(gòu)造對(duì)象賦值四種(幾個(gè)constructor-arg就會(huì)調(diào)用幾參構(gòu)造,沒(méi)有相應(yīng)就報(bào)錯(cuò)):

1????通過(guò)name和value賦值????<constructor-arg name="sid" value="2"/>

2????按value的順序賦值:可能會(huì)出現(xiàn)類(lèi)型轉(zhuǎn)換錯(cuò)誤????<constructor-arg value="2"/>

3? ?相同類(lèi)型按順序賦值,不同類(lèi)型順序無(wú)要求????<constructor-arg type="int" value="2"/>

4????按"角標(biāo)"位置賦值,從0開(kāi)始????<constructor-arg index="0" value="2"/>

引用:給一個(gè)對(duì)象的屬性賦值????<constructor-arg type="BirthDays" ref="birth1"/>

(6)? ? p名稱(chēng)空間注入

xmlns:p="http://www.springframework.org/schema/p"

上方是一個(gè)鏈接資源,前面p可變,后面p不可變,將這個(gè)加入就可用下方的格式

<bean id="student2" class="com.qianfeng.Student" p:sid="1" p:name="小紅" p:sex="true" p:score="90" p:birth-ref="birth2"></bean>

測(cè)試類(lèi):ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml")

ac.getBean("student5", Student.class);后面的Student.class可以不寫(xiě),但需要強(qiáng)轉(zhuǎn)類(lèi)型

關(guān)閉ApplicationContext資源(不關(guān)會(huì)有警告)((ClassPathXmlApplicationContext)ac).close();

今天有兩個(gè)錯(cuò)誤:

1.NoSuchMethodExcption:沒(méi)有無(wú)參構(gòu)造

2,NotWriteablePropertyExcption:不是一個(gè)可寫(xiě)屬性;JavaBean中setter方法沒(méi)寫(xiě);或者在bean.xml中屬性名寫(xiě)錯(cuò)

2020-02-25在千峰線上學(xué)習(xí)的第12天,武漢加油

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末你虹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子彤避,更是在濱河造成了極大的恐慌傅物,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琉预,死亡現(xiàn)場(chǎng)離奇詭異挟伙,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)模孩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)尖阔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人榨咐,你說(shuō)我怎么就攤上這事率碾。” “怎么了迟郎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵辫狼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我数焊,道長(zhǎng)永淌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任佩耳,我火速辦了婚禮遂蛀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘干厚。我一直安慰自己李滴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布蛮瞄。 她就那樣靜靜地躺著所坯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挂捅。 梳的紋絲不亂的頭發(fā)上芹助,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼状土。 笑死无蜂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的声诸。 我是一名探鬼主播酱讶,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼彼乌!你這毒婦竟也來(lái)了泻肯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慰照,失蹤者是張志新(化名)和其女友劉穎灶挟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體毒租,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稚铣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了墅垮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惕医。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖算色,靈堂內(nèi)的尸體忽然破棺而出抬伺,到底是詐尸還是另有隱情,我是刑警寧澤灾梦,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布峡钓,位于F島的核電站,受9級(jí)特大地震影響若河,放射性物質(zhì)發(fā)生泄漏能岩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一萧福、第九天 我趴在偏房一處隱蔽的房頂上張望拉鹃。 院中可真熱鬧,春花似錦统锤、人聲如沸毛俏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至焕蹄,卻和暖如春逾雄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工鸦泳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留银锻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓做鹰,卻偏偏與公主長(zhǎng)得像击纬,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钾麸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348