Spring MVC-使用Java类配置新建项目
来源:互联网 发布:域名备案查询 编辑:程序博客网 时间:2024/04/25 21:10
- 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 测试
- 四 源码地址
- 五 参考链接
- 一 简介
一、 简介
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 support
2. 修改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.java
package 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)@EnableAsyncpublic 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.support.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;@Controllerpublic 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:8080
2. 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
阅读全文
0 0
- Spring MVC-使用Java类配置新建项目
- spring mvc --新建项目
- java web项目中配置spring mvc
- Spring MVC项目配置
- spring mvc 项目配置
- 使用java配置类实现spring mvc的拦截器
- 使用java config配置spring mvc + swagger
- java -Spring MVC 配置
- java spring mvc 配置
- jeesite项目使用-多数据库配置【Spring mvc + Mybatis】
- java缓存EHCache Spring MVC项目配置ehcache
- Java Spring MVC入门(二)——配置项目
- 新建一个项目Spring MVC+maven 引入React前端框架
- idea for mac 新建spring MVC项目并部署tomcat
- Eclipse新建基于Maven的spring-mvc项目
- 使用Idea新建Spring Boot项目
- 使用IDEA新建一个Spring Boot项目
- spring+spring mvc+mybatis项目配置
- 微信小程序WXML之列表渲染
- C++extern关键字使用总结
- BZOJ[2464]中山市选[2009]小明的游戏 SPFA
- bzoj 1786 [Ahoi2008]Pair 配对
- C++类对象共享数据的5种实现方法
- Spring MVC-使用Java类配置新建项目
- Python学习笔记(三):函数
- 代码数量
- 《贪玩的人类》听后感
- Codeforces Round 864F (Codeforces Round #436 Div. 2) F. Cities Excursions tarjan判环
- morning
- Construct the Rectangle
- 为自己写个序
- 洛谷 P2169 正则表达式