【SpringBoot系列】一:5分钟构建第一个SpringBoot工程

简介:

SpringBoot是伴随着Spring4.0诞生的;从字面理解,Boot是引导的意思,因此SpringBoot的宗旨就是简化开发,帮助开发者快速搭建Spring项目;

Spring Boot并不是一门新技术,可以说它继承于Spring。对于熟悉Spring的人来说入手门槛几乎为0,SpringBoot仅仅是对咱们经常做的一些Spring配置做了提炼,封装成了一个个注解;将经常引用的一些jar包整合到一起。使我们仅仅引用几个依赖可以快速的创建一个可运行的web项目,这就是其所谓的“习惯优于配置”的理念。

关于SpringBoot和传统SSM,SSH框架的比较,功能都是一样的,便于我们开发web工程,是不过在效率和方便性上有所区别,就好比Idea和Eclipse,反正我用过Idea一段时间后,很难再回到Eclipse。。


建构工程:

环境准备:

-jdk 1.8或以上(jdk1.6或1.7虽然也可以,但是不推荐,需要额外的配置)
-maven 3.0+
-Idea

开始构建项目

构建一个Sping Boot的Maven项目,强烈推荐Spring Initializr,它从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构。

Spring Initializr有2种用法:

1. 通过Web界面使用

1)访问:http://start.spring.io/

2)选择构建工具Maven Project、Spring Boot版本1.5.4以及一些工程基本信息,可参考下图所示

图片名称

点击Generate Project下载项目压缩包

导入工程到IDEA即可。

2.通过idea创建

IntelliJ IDEA 14.1已经支持Spring Boot了,创建Spring Boot操作步骤如下:

打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步->FInish 就行了。


工程目录

创建完工程,工程的目录结构如下:

图片名称

pom.xml 基本的依赖管理文件
resouces 资源文件
statics 静态资源
templates 模板资源
application.properties 一个空的properties文件,你可以根据需要添加配置属性。
SpringbootSimpleApplication 一个带有main()方法的类,用于启动应用程序。
SpringbootSimpleApplicationTests 一个空的Junit测试类。


解析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.erniu</groupId>
    <artifactId>springboot-simple-application</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot-simple-application</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.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>


Spring Boot父级依赖:spring-boot-starter-parent

有了这个Spring Boot父级依赖,就表示当前项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看本地maven仓库,xxx\repository\org\springframework\boot\spring-boot-dependencies\1.5.4.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom,当然如果SpringBoot提供的依赖版本不是你需要的,可以声明其他版本的依赖覆盖掉。

起步依赖 spring-boot-starter-web

Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。这个开箱即用,体现了SpringBoot的方便之处,举个栗子:之前在用SpringMVC的时候,需要做很多的配置和引入各种需要的依赖,当依赖版本不匹配的时候,会出现各种莫名其妙的问题;而使用spring-boot-starter起步模块开箱即用,自动封装所需功能的依赖,starter在手,天下我有。

编写代码

创建restAPI(Controller):

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by qianqian.niu on 2017/6/27.
 */
@RestController
//该注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。
public class HelloController {

    @GetMapping("/simple/{id}")
    public String findById(@PathVariable Long id) {
        return "hello erniu:" + id;
    }
}


创建启动类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//Sprnig Boot项目的核心注解,主要目的是开启自动配置。后续讲解原理的时候再深入介绍
public class SpringbootSimpleApplication {
    //该main方法作为项目启动的入口
    public static void main(String[] args) {
        SpringApplication.run(SpringbootSimpleApplication.class, args);
    }
}

启动SpringbootFirstApplication的main方法,打开浏览器localhost:8080/simple/111,浏览器显示:

图片名称


启动springboot 的三种方式

1. main方法启动
2. 使用maven命令 mvn spring-boot:run 在命令行启动该应用
3. java -jar 命令启动,需要先运行“mvn package”进行打包


结语:

这么简单的一个实例,搞起来用不了5分钟,和之前SpringMVC各种麻烦配置相比简直了。。
没有任何web.xml配置,没有任何spring.mvc配置,也没有配置tomcat容器,也没有各种依赖配置。。。
本篇博客作为Spring Boot的入门介绍,需要关注的点也就这么几个:
Spring Boot是什么东西
父级依赖的作用
起步依赖的概念
应用入口类的作用


源码下载:http://download.csdn.net/detail/u010028869/9883487

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值