开始使用spring boot

spring boot最让人激动的两个特性是起步依赖和自动配置。本篇介绍如何快速地使用spring boot框架搭建出一个spring mvc rest的站点,让我们对spring boot有一个初步的认识。

获取模板代码

获取模板代码有好几种方式,例如:

  • spring initializr
  • spring cli
  • 各种ide插件

方式一:spring initializr

使用spring initializr是最方便的,无需安装任何东西。在浏览器中访问http://start.spring.io/,只需填入相关信息,点击[generate project]按钮,即可下载一个zip文件,解压这个zip文件,就得到了一个maven项目(或gradle项目)。

方式二:spring cli

作为开发人员,我更喜欢用命令行的方式。window或linux用户,直接下载https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.0.1.RELEASE/spring-boot-cli-2.0.1.RELEASE-bin.tar.gz文件,加压后配置环境变量即可使用spring命令。mac用户可以用homebrew更加方便地安装spring cli

$ brew tap pivotal/tap
$ brew install springboot

spring cli安装好之后,下面来试一下。先来看看spring命令的帮助

$ spring --help

我们需要用spring init命令来创建,可以使用spring help init来查看init时的参数。输入以下命令来创建一个项目

$ spring init -g=com.example -a=spring-boot-start -d=web 
Using service at https://start.spring.io
Content saved to 'spring-boot-start.zip'

spring为我们生成了一个zip文件,解压该文件即可得到一个模板项目。

增加一个controller

使用你习惯的ide打开这个模板项目,新增一个类,内容如下

package com.example.springbootstart.controllers;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestContoller {

    @RequestMapping("/test")
    public String hello(){
        return "hello,spring boot";
    }
}

编译、打包、运行

使用maven编译并打包

mvn clean package

编译以后会得到一个fat jar,并且内嵌了一个tomcat,所以可以直接运行这个jar文件

java -jar target/spring-boot-start-0.0.1-SNAPSHOT.jar

启动后,访问 http://localhost:8080/test,即可显示hello,spring boot

关于spring boot

我之编写了一个controller的代码,其它的什么都没干,没有任何配置,就运行出来一个mvc站点,还不缺包,版本也不冲突了,这就归功于spring boot了。文章开头提到了spring boot的两大特性(其实还有很多特性,后面的博客会提到),分别是:起步依赖和自动配置。

关于起步依赖

打开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>com.example</groupId>
	<artifactId>spring-boot-start</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<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>

这里面的starter,就是所谓的起步依赖。看上去非常简洁,功能却十分强大,不仅包含了运行一个mvc站点所需的所有必要的依赖了,还包括:内嵌servlet容器、fat jar、executable jar等特性,启动时只需要简单地使用java -jar即可,无需再设置其它的classpath。

关于自动配置

在spring boot之前,如果想使用spring mvc来开发一个站点的话,需要配置好几个bean,我原来的一篇博客开始使用spring mvc专门记录了如何从头开始搭建一个springmvc站点。而现在,我们没有配置DispatcherServlet,没有配置InternalResourceViewResolver,没有设置静态文件的地址等,spring检测到当前项目引用了spring-mvc的包,就自动注册了对应的spring bean,并对一些属性设置了默认值。

我接下来会关于spring boot写一个系列的博客,争取覆盖到spring boot更多的用法和细节。系列中共包含以下几个主题:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值