使用Idea搭建一个简单的SpringMVC框架
工具:
- IDEA,MAVEN
前言
使用了一年不到的SpringMVC+MyBatis进行开发,基本了解了其中的原理,但是一直没有时间搭建一个自己的框架,只会使用是不够了,我还是比较喜欢深入的去分析一些其中的思想。
目录
用 [TOC]
来生成目录:
开始
首先要安装一个IDEA编译器,本人比较喜欢使用这款软件,因为我之前是做安卓开发的,比较习惯使用Android studio,IDEA是一款收费软件,但是网上有破解的教程就可以实现免费使用了。Maven是一个依赖包的仓库,就相当于把jar放在网上,用户只要配置一下就可以自动下载。这样的做我认为比较好的地方就是不用倒出去找jar包啦~ PS:中国的破解世界之最啊。
1)创建一个新项目
1.创建一个新的项目
2.选择Spring->Spring MVC->next
3.剩下的Project name什么的就自己填一下吧。我们直接来看生成的目录
2)配置
1.SpringMVC的配置文件都已经生成了,不需要我们手动去创建,但是内容还是要我们自己去配置的。
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">
<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>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern><!--如果你发现路访问出现404 访问不到的问题 请把该匹配路径改为 '/'-->
</servlet-mapping>
</web-app>
dispatcher-servlet.xml 这个就是SpringMVC核心的配置文件了,该文件名和所在路径可以在web.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/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan
base-package="com.demo.index"> <!--你会发现你的xml文件里是没有这个的。如果你是新手就直接全部copy,这个是扫描包内的注解的。@Controller,@RequestMapper等,这样就不用手动的去配置controller的请求路径了。-->
<!-- <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />-->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--这个是配置视图解析器-->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/pages/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
3)创建测试Controller
1.SpringMVC框架基本已经可以运行了。接下来我们要写一个controller来测试了。但是你会发现你没有java这个包。
首先右键点击项目->选择Open Module Settings
选择Module
我在java包下创建了以下测试目录
IndexControllder.java
package com.demo.index.controller;
import com.demo.index.utils.SysConfig;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* Created by a on 2017/6/12.
*/
@Controller
@RequestMapping(value = "/Demo")
public class IndexControllder {
@RequestMapping(value = "/index")
public ModelAndView index(){
ModelAndView mv = new ModelAndView();
mv.addObject("Object","你好 世界");
mv.setViewName("HelloWorld");
return mv;
}
}
4)完成
如果你是新手肯定会遇到各种各样的问题,欢迎下方留言。我写的可能不够详细,大家也可以帮助我补充一下,一起学习一起成长。
新手最好买本书看一下,我的这篇文章只是根据使用IDEA搭建框架。不适合新手了解其中的原理。