Spring Boot初体验
我记得在spring boot出来之前做框架整合是一件非常不愉快的事情,各种jar包版本冲突是非常糟糕的体验,同时那时候主要还是通过xml文件来进行配置,各种配置文件十分繁多,hibernate需要,spring需要,如果用struts还需要,总之就是一个及其麻烦的事情。
当我第一次见到spring boot的时候我们被惊艳到了,原来开发可以如此的流畅,真正的约定大于配置,各种方便的注解,包整合十分愉快。
这篇文章就是简单记录一下利用最简单的spring boot快速开发一个web小应用。
开发环境spring boot + maven
开发环境自己配置(jdk+maven)
spring boot初始化
首先你可以到spring官网去初始化项目https://start.spring.io/ ,在这里可以针对你自己的应用场景进行配置,同时选择整合你需要的各种包,最后再下载下来用你习惯的开发工具打开即可。
简单看看我自己的pom.xml文件
com.material
data
0.0.1-SNAPSHOT
war
data
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.5.2.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-cache
org.springframework.boot
spring-boot-starter-tomcat
provided
com.google.guava
guava
19.0
org.springframework.boot
spring-boot-starter-test
test
org.apache.tomcat.embed
tomcat-embed-jasper
provided
com.oracle
ojdbc6
11.2.0.4
javax.servlet
jstl
1.2
com.alibaba
druid
1.0.25
org.springframework.boot
spring-boot-devtools
true
因为个人比较习惯jsp所以页面就没有采用其他的模板技术,因此我的application.properties文件配置如下
spring.freemarker.checkTemplateLocation: false
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
spring.mvc.locale: zh_CN
spring.http.encoding.charset: UTF-8
spring.http.encoding.enabled: true
spring.http.encoding.force: true
同时在src目录下添加一个webapp目录,再在webapp目录下添加 /WEB-INF/jsp/,与各配置文件目录对应
自己添加了applcationContext.xml文件用于提供对一些静态文件的访问
各类配置
通过spring官网会默认帮你生成两个类
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@ServletComponentScan
@EnableCaching
public class MaterialApplication {
public static void main(String[] args) {
SpringApplication.run(MaterialApplication.class, args);
}
}
@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MaterialApplication.class);
}
具体的注解我也就不详细描述了,百度很多也很详细
通过上面的一系列配置我们就搭建好了一个基本的基于spring boot的web应用
定义controller和jsp
在完成配置的基础上我们会定义自己的Controller以及jsp页面
controller类
@Controller
public class HelloController {
@RequestMapping("/hello")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
jsp页面
<%@ page language="java" contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
Hello World
Hello,${name}
下一步就是进入命令行,从命令行进入项目目录然后用maven启动项目
mvn spring-boot:run