springboot初体验

    |     2017年6月16日   |   springboot   |     0 条评论   |    1677

Spring Boot 由 Pivotal 提供,目标是简化新 Spring 应用的初始搭建和开发过程。它用约定好的方式做配置,让你少写样板 XML / JavaConfig。官网:http://projects.spring.io/spring-boot/。

Boot 并不另起一套问题域,而是给已有 Spring 技术换一种更短的使用路径。熟悉 Spring 生态的人上手很快;新人也可以用更少配置把 Web 应用和 REST 跑起来。下面先做一个最小可访问接口,再补上 JSP + SpringMVC 视图。

一、最小可运行的 Spring Boot

1. Maven 依赖

创建一个 Maven 工程,引入 parent 和 web starter 即可:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2. Application.java

@Controller
@SpringBootApplication
public class Application {
    @RequestMapping("/")
    @ResponseBody
    public String helloSpringBoot() {
        return "welcome to springBoot ";
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3. 访问 http://localhost:8080/

浏览器打开 http://localhost:8080/,页面应显示 welcome to springBoot。

步骤 关键点
parent + starter-web 版本由 parent 统一管理,不必手写一堆 spring jar
@SpringBootApplication 等于配置类 + 自动配置 + 组件扫描
SpringApplication.run 内嵌 Tomcat,main 方法直接启动

二、让 Spring Boot 支持 JSP 并走 SpringMVC

官方并不推荐 JSP。STS 生成的工程会在 src/main/resources/templates 下放模板,也没有传统 webapp 目录。若仍要用 JSP,需要额外依赖和视图前后缀。

1. 引入依赖

<!-- tomcat 的支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

2. application.properties

# springmvc 前后缀配置
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

更推荐写成 application.yml:

spring:
  mvc:
    view:
      prefix: /WEB-INF/views/
      suffix: .jsp

3. LoginController.java

@Controller
public class LoginController {
    @RequestMapping("/login")
    public String login() {
        return "login";
    }

    @RequestMapping("/login_submit")
    public String loginSubmit(String username, String password, Model model) {
        model.addAttribute("message", "username = " + username + " password = " + password);
        return "login";
    }
}

4. 浏览器请求

访问 http://localhost:8080/login,会解析到 /WEB-INF/views/login.jsp。

一句话总结:Spring Boot 用 starter 和约定配置把第一个 Web 接口缩成「依赖 + 一个 Application 类」;若坚持 JSP,补 jasper / jstl 并配好视图前后缀即可接到 SpringMVC。

转载请注明来源:springboot初体验
本文链接地址:https://ai.zhousir.top/?p=1999
回复 取消