(一) Spring Boot学习笔记之第一个Spring Boot程序HelloWorld

前言

这系列博客是博主在学习Spring Boot过程中的一个总结,在写每一篇博客前我都参考了大量的博客和资料,希望能够帮助大家少走弯路。在进行Spring Boot学习前确保有一定的Spring基础,因为从本质上来说Spring Boot就是Spring

概要

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。它具有以下特点:

  1. 创建独立的Spring应用程序
  2. 嵌入的Tomcat,无需部署WAR文件
  3. 简化Maven配置
  4. 自动配置Spring
  5. 提供生产就绪型功能,如指标,健康检查和外部配置
  6. 绝对没有代码生成和对XML没有要求配置

以上引用了百度百科对Spring Boot的介绍,具体细节等后续再逐一介绍,现在让我们来感受一下Spring Boot的强大之处,让我们来一起来搭建第一个Spring Boot程序

1.运行环境

Maven 3.2.5
Eclipse Mars.2
SpringBoot 1.3.0.RELEASE

2.入门案例之HelloWorld

2.1 新建一个Maven工程 导入pom文件:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>com.roberto.springbootgroupId>
    <artifactId>springboot-practiceartifactId>
    <version>1.0.0-SNAPSHOTversion>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>1.3.0.RELEASEversion>
    parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
    dependencies>
project>

2.2 Java代码部分

@RestController
@SpringBootApplication
public class Example {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

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

注释:@SpringBootApplication是SpringBoot中提供一个比较方便的注解,使用该注解等价于以默认属性使用@Configuration, @EnableAutoConfiguration和@ComponentScan

2.3 运行main函数 输出如下内容没有错误消息 表示启动项目成功

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.3.0.RELEASE)
 ...

2.4 访问http://localhost:8080/查看运行结果

(一) Spring Boot学习笔记之第一个Spring Boot程序HelloWorld_第1张图片
到此发现构建Web程序原来这么简单,这就是SpringBoot的强大之处,它不再需要手动的导入那么多的依赖,配置一系列复杂的整合文件

3.改造HelloWorld程序 使用没有父POM的Spring Boot

不是每个人都喜欢继承spring-boot-starter-parent POM,你可能需要使用公司标准parent,或你可能倾向于显式声明所有Maven配置,如果你不使用 spring-boot-starter-parent,通过使用一个scope=import的依赖,你仍能获取到依赖管理的好处,其意义为引入该dependency的pom中定义的所有dependency定义。pom文件如下:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>com.roberto.springbootgroupId>
    <artifactId>springboot-practiceartifactId>
    <version>1.0.0-SNAPSHOTversion>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-dependenciesartifactId>
                <version>1.3.0.RELEASEversion>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
    dependencies>
project>

4.创建一个可执行Jar文件

4.1 为了创建可执行的Jar,需要将spring-boot-maven-plugin添加到我们的pom.xml中,在dependencies节点下插入以下内容:

<build>
    <finalName>springboot-practicefinalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>
    plugins>
build>

注意:spring-boot-starter-parent POM包含用于绑定repackage目标的配置,如果你不使用parent POM,需要自己声明该配置 pom文件如下:

<build>
    <finalName>springboot-practicefinalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackagegoal>
                    goals>
                execution>
            executions>
        plugin>
    plugins>
build>

4.2 保存你的pom.xml,然后从命令行运行mvn package

4.3 打包成功后,如果查看target目录,你应该看到springboot-practice-1.0.0-SNAPSHOT.jar,该文件应该有10Mb左右的大小,如果想偷看内部结构,你可以运行 jar tvf 命令:

jar tvf springboot-practice-1.0.0-SNAPSHOT.jar

4.4 在target目录下,你应该也能看到一个很小的名为springboot-practice-1.0.0-SNAPSHOT.jar.original的文件,这是在Spring Boot重新打包前Maven创建的原始jar文件为了运行该应用程序,你可以使用 java -jar 命令:

java -jar springboot-practice-1.0.0-SNAPSHOT.jar

运行结果如下
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.3.0.RELEASE)
 ...

5.相关插件

推荐一款快速构建Spring Boot程序的插件Spring Tool Suite,此处不具体介绍安装步骤,可自行查找安装教程

你可能感兴趣的:(Spring,Boot学习笔记)