1、配置maven,步骤如下:
打开File -- Settings
选择maven,apache-maven-3.39/conf/settings.xml是maven服务器配置,这里是使用的内部服务器,一般是使用阿里云服务器,local repositoty是下载的jar包保存路径
2、开始基于maven创建项目
File -- new - project - maven
自己填写GroupId和ArtifactId
下一步,选择maven的配置路径,maven的配置在上面第一步完成
点击next,项目创建完成,项目创建完成之后,包结果如下:
如果java,resources和test文件夹没有就自己创建,创建好之后,如果文件夹是灰色的,则进行以下操作
java是选择Generate source Root,resources是选择Resources Root,test是选择Test source Root
3,开始配置项目
打开pom.xml文件,添加各类依赖包,将下面的依赖代码复制到pom.xml(这些是我添加的依赖,供参考),添加完成之后,等待maven将这些jar下载完毕,下载完成后,可以看到External Library下多了很多文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>springbootnewdemo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>springbootnewdemo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
下一步,添加SpringMVC框架,右击项目文件夹,选择Add framework support,这里使用的是SpringMVC 5.2.3.RELEASE,我本地没有,所以需要下载,如果本地有,则可以直接选择Use library
如果在Add framework support中找不到Spring,那是因为项目中可能已经存在Spring相关文件,但不一定是完善的。因此我们要将已经存在的Spring给删掉,重新添加,方法如下:
点击File,选择Project Structure,(快捷键ctrl+shift+alt+s)选择Facets,就会看到有一个Spring啦,右击它,点删除就行啦,然后再重新Add framework support,Spring就会出现啦。
Spring框架添加完之后,会看到目录下多了两个xml文件,applicationContext.xml和dispatcher-servlet.xml,我还创建了static文件夹用来存放静态资源css、js、images(图片等),和jsp文件夹用来jsp文件
接下来配置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>--> <!--<servlet-name>EmpServlet</servlet-name>--> <!--<servlet-class>com.gx.filter.EmpServlet</servlet-class>--> <!--</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>
配置dispatcher-servlet.xml,负责mvc的配置
<?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:mvc="http://www.springframework.org/schema/mvc" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--此文件负责整个mvc中的配置--> <!--启用spring的一些annotation --> <context:annotation-config/> <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 --> <mvc:annotation-driven/> <!--静态资源映射--> <!--本项目把静态资源放在了webapp的statics目录下,资源映射如下--> <!-- <mvc:resources mapping="/css/**" location="/static/css/"/> <mvc:resources mapping="/js/**" location="/static/js/"/> <mvc:resources mapping="/image/**" location="/static/images/"/> --> <mvc:default-servlet-handler/> <!--这句要加上,要不然可能会访问不到静态资源,具体作用自行百度--> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用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="com.test.controller"/> </beans>
配置applicationContext.xml,负责一些非MVC组件的配置
<?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="com.test"/> </beans>
经过以上操作之后就配置好了,接下来编写java类,编写测试接口进行测试
在java目录下创建com.test包,在com.test包下创建DemoApplication类,其内容如下
@SpringBootApplication public class DemoAplication { public static void main(String[] args) { SpringApplication.run(DemoAplication.class, args); } }
创建com.test.controller包,在该包下创建TestController类,其内容如下:
@RestController @RequestMapping("/test") public class TestController { @RequestMapping("/hello") public String hello() { return "hello"; } }
到此,一个完整的使用idea基于maven创建SpringMVC项目就完成了。
4、使用maven将SpringMVC项目打成war包
点击右侧的maven,选择clean,然后package,即可将SpringMVC项目打成war包,输出war包的配置在pom.xml文件的packaging属性配置