最近接触了Spring框架,暂且不谈具体的框架知识,环境是编程的基础,对于初学者来说,学习搭建框架的过程是很有必要的,如果长时间不熟悉搭建和配置环境,忘记具体步骤是很常见的现象,所以,现在就记录一下自己的搭建过程,方便自己后来的小伙伴借鉴..
在搭建Spring框架之前,我看了好多篇博客,发现搭建的方法不止一种,可以说是大同小异,有直接导入包和配置文件的方法,还有直接勾选Spring框架选项的方法,(强大的IDEA已经集成了Spring框架),这两种方法我都试过了,均可以成功搭建maven下的SpringMVC框架
现在来贴出我搭建Spring框架的具体过程,希望可以帮到其他的小伙伴…
第一步:创建maven项目
File -> new project -> maven项目
新建一个maven项目,记得勾选Create from archetype,勾选之后一定要记得选择webapp原型。(注意:有两个后缀为webapp的,一定要看清楚再选)
点击next, 下图里面的GroupId,ArtifactId没有规定的写法,可以随意填写,(建议这里的ArtifactId与自己的项目名称保持一致)。
点击next
在网上了解到,在上图中添加一个属性值,可以加快创建过程,我加上之后试着对比了一下,发现真的有作用。
具体做法是,点击图中右边绿色的加号,在弹出的小框中添加如下属性:
name=archetypeCatalog
value=internal
添加成功以后,点击小框上的ok按钮,再点击next,然后填写你的项目名(这里的项目名默认是你之前填写的ArtifactId)
点击finish
这时IDEA开始创建项目,project项目创建好之后,进入IDEA的主页,等待maven项目创建成功
进入主页之后,会发现右下方出现了一个提示性的东西(如下图),Maven projects need to be imported这个小框可千万不能忽略,你需要点击Enable Auto-Import将Maven需要的包都导入工程.
现在,出现下图,恭喜你,你的maven项目成功创建了。
第二步:添加pom依赖
创建好的项目目录如下:
打开目录中的pom.xml,添加依赖,这时你只需要将我下面的依赖全部复制粘贴到你的pom.xml的dependencies标签之间就可以了。
<!--测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--日志-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<!--J2EE-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<!--springframework-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-rules</artifactId>
<version>1.16.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
<!--其他需要的包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
复制这些依赖到你的pom.xml之后,maven就会开始下载相应的jar文件,等待下载完成即可
第三步:添加框架支持
点击你的项目文件夹,选择Add Framework Support, 然后分别选中Spring和Spring mvc, 并在选择Spring时,记得勾选右边的Create empty spring-config.xml
点击ok之后,会发现左侧WEB-INF文件夹下多了两个文件,如下图:
第四步:完善目录
在src/main下面新建一个java的文件夹(你会发现这时并不能成功新建package或者class文件),没关系,先仿照下图建好文件目录,然后点击下图中圈出来的东西
在跳出来的框中点击Moudles,设置java文件夹为sources,test文件夹为Test,成功后文件夹会变色,如下图:
现在,补充完整的目录如下:
第五步:配置.xml
这里进行配置时,你只需要用我的配置代码覆盖你的原有代码即可
1.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
<!--welcome pages-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--配置springmvc DispatcherServlet-->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置dispatcher.xml作为mvc的配置文件-->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--把applicationContext.xml加入到配置文件中-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
2.配置dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--此文件负责整个mvc中的配置-->
<!--启用spring的一些annotation -->
<context:annotation-config/>
<!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
<mvc:annotation-driven/>
<!--静态资源映射,暂时用不到,无-->
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP-->
<!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/views/"/><!--设置JSP文件的目录位置-->
<property name="suffix" value=".jsp"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>
<!-- 自动扫描装配 -->
<context:component-scan base-package="Controller"/>
</beans>
3.配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="java"/>
</beans>
补充MainController类
之前在完善项目目录时,在Controller文件夹底下新建了一个MainController类,下面贴出这个类里面的测试代码:
@Controller
@RequestMapping(value = "/main")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public String welcome(){
return "hello,Spring is created OK!!";
}
}
前面的步骤完成之后,就该配置tomcat啦!
配置tomcat
点击右上角中的向下箭头:
点击加号,选择tomcat
点击ok
点击Fix,选择第二个(war exploded)
其中右侧Application context填的是你的项目名
这样操作完成之后,tomcat也就配置好了,可以来测试一下啦。
运行tomcat
(在浏览器输入localhost:8080/SpringTest/main即可,或者在运行出来的网址后面加上main)出现如下的图
恭喜你哦,框架搭建成功啦^_^.