SpringMVC基礎配置(通過註解配置,非xml配置)
"\u003Cdiv\u003E\u003Cp\u003ESpringMVC是什麼,有多火,我這裏就不再囉嗦了,SpringMVC比Struts2好用太多,我在學校的時候私下裏兩種都接觸過,對比之後果斷選擇了SpringMVC,後來在做Android應用開發的時候,偶爾需要搭建一個後臺服務,都是毫不猶豫的選擇了SpringMVC作爲首選。不過在之前使用SpringMVC的時候都是使用xml文件來進行配置的,那麼這裏我想換一種方式,通過Java註解來配置SpringMVC框架。\u003C\u002Fp\u003E\u003Cp\u003EOK,廢話不多說,那我們就開始吧。\u003C\u002Fp\u003E\u003Ch1\u003E創建項目\u003C\u002Fh1\u003E\u003Cp\u003E爲什麼要說項目的創建呢?這是因爲我自己之前一直使用STS做Web,後來因爲Android Studio做久了,深深地愛上了IntelliJ IDEA,所以Web開發乾脆也挪到IntelliJ IDEA上了,不過這個東西做Web還不太熟,掉進了一個項目創建的坑,所以這裏稍微說一下項目的創建過程,避免其他小夥伴再掉坑。\u003C\u002Fp\u003E\u003Cp\u003E1.創建普通Web Application\u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002Ff544858e8bbb4837bd2aa076332f1727\" img_width=\"911\" img_height=\"732\" alt=\"SpringMVC基礎配置(通過註解配置,非xml配置)\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E注意創建的時候取消Create web.xml的選項,因爲這裏我將不通過xml進行SpringMVC的配置,而是通過註解的方式,後面的就是給項目取名字,然後一路下一步即可。\u003C\u002Fp\u003E\u003Cp\u003E2.添加Maven支持\u003C\u002Fp\u003E\u003Cp\u003E項目創建成功之後,選中項目,右鍵單擊,選擇第二項Add Framework Support,然後在新打開的頁面中選擇Maven,點擊確定即可,如下: \u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F928beb2204674a5daf1039f2df6fb025\" img_width=\"708\" img_height=\"665\" alt=\"SpringMVC基礎配置(通過註解配置,非xml配置)\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E這樣就成功創建了一個被Maven管理的Web項目了。 \u003C\u002Fp\u003E\u003Cp\u003EOK,關於項目創建流程這個問題如果小夥伴們有更好的方式歡迎留言討論。\u003C\u002Fp\u003E\u003Ch1\u003E添加依賴庫\u003C\u002Fh1\u003E\u003Cp\u003E這裏涉及到的依賴庫略多,我們來看看:\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E 4.3.4.RELEASE<\u002Fspring-framework.version>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fproperties>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E javax<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E javaee-api<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 7.0<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E provided<\u002Fscope>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.springframework<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E spring-webmvc<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E ${spring-framework.version}<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E javax.servlet<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E javax.servlet-api<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 3.1.0<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E provided<\u002Fscope>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E javax.servlet<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E jstl<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.2<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E javax.servlet.jsp<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E jsp-api<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 2.2<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E provided<\u002Fscope>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.springframework<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E spring-tx<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E ${spring-framework.version}<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.slf4j<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E slf4j-api<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.7.21<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E log4j<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E log4j<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.2.17<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.slf4j<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E jcl-over-slf4j<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.7.21<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E ch.qos.logback<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E logback-classic<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.1.8<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E ch.qos.logback<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E logback-core<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.1.8<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E ch.qos.logback<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E logback-access<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 1.1.8<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependency>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fdependencies>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.apache.maven.plugins<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E maven-compiler-plugin<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 3.6.0<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fplugin>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E org.apache.maven.plugins<\u002FgroupId>\u003C\u002Fp\u003E\u003Cp\u003E maven-war-plugin<\u002FartifactId>\u003C\u002Fp\u003E\u003Cp\u003E 3.0.0<\u002Fversion>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E false<\u002FfailOnMissingWebXml>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fconfiguration>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fplugin>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fplugins>\u003C\u002Fp\u003E\u003Cp\u003E <\u002Fbuild>\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E但實際上每個依賴庫的用處都是非常清晰的,slf4j和LogBack這兩個主要是用來打印日誌的,jstl支持頁面的創建,這些都是JavaEE中非常常見的庫,我就不再贅述了。\u003C\u002Fp\u003E\u003Ch1\u003E創建演示頁面\u003C\u002Fh1\u003E\u003Cp\u003E由於這一系列文章,我主要是想介紹Spring Boot的使用,所以這裏我把jsp文件創建在src\u002Fmain\u002Fresources\u002Fviews\u002F目錄下。如下圖: \u003C\u002Fp\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F9d3fd8e3355b46f78f6e793ca0b0fdb6\" img_width=\"323\" img_height=\"326\" alt=\"SpringMVC基礎配置(通過註解配置,非xml配置)\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E在resources目錄下還有一個logback.xml文件,這個文件是用來打印日誌的,這個文件小夥伴們一會可以直接下載。\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E<%@ page contentType=\"text\u002Fhtml;charset=UTF-8\" language=\"java\" %>\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E Hello SpringMVC<\u002Ftitle>\u003C\u002Fp\u003E\u003Cp\u003E<\u002Fhead>\u003C\u002Fp\u003E\u003Cp\u003E \u003C\u002Fp\u003E\u003Cp\u003E