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