Spring MVC-使用Java类配置新建项目
2017-09-30 21:38
387 查看
2017年9月30日 本文简略介绍了Spring Framework以及Spring MVC,然后通过类配置的方式提供了一个最简单的demo
2017年10月1日 添加了源码地址
一 简介
1 Spring 框架
2 Spring MVC
二 历史
1 xml配置
2 注解配置
3 Java配置
三 Java类配置
1 新建Spring项目
2 添加maven框架
3 划分项目结构
4 类配置
5 添加控制器和视图
6 测试
四 源码地址
五 参考链接
![](https://img-blog.csdn.net/20170930204147279?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https:/<br/>4000<br/>/img-blog.csdn.net/20170930204224574?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2. 修改pom.xml
![](https://img-blog.csdn.net/20170930204338319?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2. 修改目录结构
![](https://img-blog.csdn.net/20170930205009693?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2. 在config下新建DemoWebConfig.java
3. 在config下新建SpringMvcInitializer.java
2. 添加视图
在/WEB-INF/下添加目录jsp,在jsp下添加demo.jsp。该结构要与DemoWebConfig.java中配置的相同。
3. 最终项目结构
![](https://img-blog.csdn.net/20170930212919546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20170930210518172?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2. localhost:8080/demo
![](https://img-blog.csdn.net/20170930210625983?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXlJZ25vcmFuY2U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
http://www.javatree.cn
维基百科 Spring Framework
https://zh.wikipedia.org/wiki/Spring_Framework
Spring docs
https://spring.io/docs
汪云飞. JavaEE开发的颠覆者 : Spring Boot实战[M]. 北京 : 电子工业出版社, 2016
http://item.jd.com/10235383371.html
2017年10月1日 添加了源码地址
一 简介
1 Spring 框架
2 Spring MVC
二 历史
1 xml配置
2 注解配置
3 Java配置
三 Java类配置
1 新建Spring项目
2 添加maven框架
3 划分项目结构
4 类配置
5 添加控制器和视图
6 测试
四 源码地址
五 参考链接
一、 简介
1.1 Spring 框架
Spring框架是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架1.2 Spring MVC
Spring框架提供的灵活的基于核心Spring功能的MVC网页应用程序框架二、 历史
2.1 xml配置
2004年3月,Spring 1.0发布 ,从此开启Spring 1.x时代。Spring项目开发基本都是使用xml配置。xml配置会随着项目的扩大而变大,而且配置繁杂,容易出错。
2.2 注解配置
2006年10月,Spring 2.0发布。Spring 2.x提供了声明Bean的注解,大大减少了配置。
2.3 Java配置
2009年12月,Spring 3.0发布;2013年12月,
Spring 4.0发布,从3.x到4.x提供的Java类配置,大大减少了以前纷繁复杂的配置。
三、 Java类配置
3.1 新建Spring项目
3.2 添加maven框架
1. 右键项目->Add frameword support2. 修改pom.xml
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>groupId</groupId> <artifactId>Demo</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <spring.version>4.1.7.RELEASE</spring.version> </properties> <dependencies> <!-- 添加Servlet支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.1</version> </dependency> <!-- 添加jstl支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- 添加Spring支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- junit--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> </dependencies> </project>
3.3 划分项目结构
1. 当前目录结构2. 修改目录结构
3.4 类配置
1. 在config下新建文件DemoServiceConfig.javapackage com.demo.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.transaction.annotation.EnableTransactionManagement; @Configuration @ComponentScan(value={"com.demo.service"}) @MapperScan("com.demo.persist") @EnableTransactionManagement(proxyTargetClass=true) @EnableAsync public class DemoServiceConfig { }
2. 在config下新建DemoWebConfig.java
package com.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration @EnableWebMvc @ComponentScan("com.demo.controller") public class DemoWebConfig extends WebMvcConfigurerAdapter { @Bean public InternalResourceViewResolver getInternalResourceViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/jsp/"); resolver.setSuffix(".jsp"); return resolver; } }
3. 在config下新建SpringMvcInitializer.java
package com.demo.config; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.supp b50f ort.AbstractAnnotationConfigDispatcherServletInitializer; import javax.servlet.Filter; public class SpringMvcInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { return new Class[] { DemoServiceConfig.class }; } protected Class<?>[] getServletConfigClasses() { return new Class[] { DemoWebConfig.class }; } protected String[] getServletMappings() { return new String[] { "/" }; } protected Filter[] getServletFilters() { CharacterEncodingFilter charFilter = new CharacterEncodingFilter(); charFilter.setEncoding("UTF-8"); charFilter.setForceEncoding(true); return new Filter[] { charFilter }; } }
3.5 添加控制器和视图
在controller里添加一个DemoController.java控制器package com.demo.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Controller public class DemoController { @RequestMapping(value = "/demo") public String demo(HttpServletRequest request, HttpServletResponse response) { return "demo"; } }
2. 添加视图
在/WEB-INF/下添加目录jsp,在jsp下添加demo.jsp。该结构要与DemoWebConfig.java中配置的相同。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>demo</title> </head> <body> demo </body> </html>
3. 最终项目结构
3.6 测试
1. localhost:80802. localhost:8080/demo
四、 源码地址
Spring MVC Demo五、 参考链接
家蛙树http://www.javatree.cn
维基百科 Spring Framework
https://zh.wikipedia.org/wiki/Spring_Framework
Spring docs
https://spring.io/docs
汪云飞. JavaEE开发的颠覆者 : Spring Boot实战[M]. 北京 : 电子工业出版社, 2016
http://item.jd.com/10235383371.html
相关文章推荐
- 解决使用maven的java web项目导入或新建添加pom配置后出现的有关问题 -cannot be read or is not a valid ZIP file
- Java项目中使用配置文件配置
- Java使用eclipse新建枚举报出, 项目“xxxxx”不是符合 J2SE 5.0 的项目。的解决办法
- java项目开发中MyEclipse新建工作空间后的配置详细步骤
- ImageMagick安装配置 for java项目 (使用jmagick)
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- java学习笔记9 - Spring mvc中log4j的配置与使用
- windows下关于使用eclipse开发web服务器后台项目完整配置(jsp+javabean+servlet)
- java中Eclipse下使用jetty容器配置项目数据源
- Java的Web项目使用DWR简单配置说明
- Eclipse 新建项目时使用已有的环境配置 & opencv项目不必重复配置
- 大型Java项目中使用maven进行管理,pom.xml文件中build的配置
- 获取java web项目里面所有的properties文件并组装在一起,使用方便,配置简单
- mac配置Android 环境,完整过程,其中包括遇到的设置$JAVA_HOME问题,新建项目报 Errors running builder 'Android Resource Manager问题
- ImageMagick安装配置 for java项目 (使用jmagick)
- Android项目中使用javacv和javacpp的代码混淆配置
- 新建java项目使用this.classLoader.getResourceAsStream方法导入xml文件时报找不到文件原因
- 在java程序项目中如何使用xml配置文件存储信息简述
- Myeclipse2015 Jrebel插件的安装、配置、使用(新建.java文件、给类添加新方法、新属性、修改代码等,不用重启tomcat即可更新)
- Java opencsv--使用 Spring 的 PostConstruct机制,项目启动时,将CSV配置文件读取到内存 map 中