Spring Boot学习笔记:(一)简介与HelloWorld搭建

来源:互联网 发布:java脱产班 编辑:程序博客网 时间:2024/05/16 12:53

一、什么是Spring Boot

在使用Spring开发的时候,有很多缺点:

  • 配置繁多
  • 开发效率低下
  • 部署流程复杂
  • 第三方技术集成难度大

而Spring Boot使用“习惯优于配置”的理念,可以快速搭建项目,简化Spring配置。本质上来说,Spring Boot就是Spring,使用Spring Boot可以很快创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,而又不需要或者很少的Spring配置。

Spring Boot优点:

  • 快速构建项目;
  • 对主流框架的无配置集成;
  • 项目可独立运行,无须外部依赖Servlet容器;
  • 提供运行时的应用监控;
  • 极大提高开发、部署效率;
  • 与云计算天然集成。

二、Spring Boot的HelloWorld搭建

方式一:通过http://start.spring.io/

(1)浏览器中输入http://start.spring.io/,然后再填写项目信息,以及选择所需要的依赖(本Demo只选择了Web所需要的依赖)。如图:
Alt text

(2)点击Generate Project,即可下载代码。下载下来的代码是一个简单基于MAVEN的项目,可将代码导入到开发工具中。

Alt text

可以看到Web所需要的依赖自动下载下来。

方式二:通过Intellij IDEA新建Spring Initializr项目

可通过Intellij IDEA新建Spring Initializr项目。
(1)填写项目信息。

Alt text

(2)选择MAVEN构建项目,打包使用Jar:

Alt text

(3)选择使用的技术:

Alt text

(4)项目结构及依赖树:

Alt text

上图中:

  • pom.xml:Maven构建说明文件;
  • SpringbootdemoApplication.java:很关键的启动类,程序入口在此,这个类是自动生成的,以artifactId+Application规则命名;
  • SpringbootdemoApplication.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文;
  • application.properties:全局配置文件,可以对一些默认配置的配置值进行修改,如可以修改Tomcat的默认端口号。
    (注:Java JDK最后是1.8版本的)

pom.xml

进入pom.xml看看Spring Boot的MAVEN配置有什么特殊的地方:
(1)Spring Boot父级依赖

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

这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了.spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看C:\Users\用户.m2\repository\org\springframework\boot\spring-boot-dependencies\1.5.1.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom:

Alt text
提供的依赖远远不止图中显示的这些,有兴趣可以自己查看。

(2)Starter POMs: spring-boot-starter-xx
starter依赖中封装了想要实现功能的依赖,可以轻松将jars添加到classpath下,同时相关的技术配置将会消除,可以得到Spring Boot提供的自动配置的Bean。
如web:

<dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>

Spring Boot官方提供的starter pom:

这里写图片描述

这里写图片描述
以及第三方所写的starter pom:
Alt text

(3)Spring Boot编译插件:可以将项目打包成一个可执行jar。

<build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build>

三、运行Hello World

下面演示怎样运行基于Spring Boot的Hello World。
直接在启动类编写代码,返回任意一句话:

package com.wgs.springbootdemo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@SpringBootApplicationpublic class SpringbootdemoApplication {    @RequestMapping(value = "/")    public String index(){        return "Hello Spring Boot!";    }    public static void main(String[] args) {        SpringApplication.run(SpringbootdemoApplication.class, args);    }}

然后直接右键Run,启动项目
Alt text

打开网页输入http://localhost:8080/即可以看见输出的结果:

Hello Spring Boot!

代码解释:

  • @SpringBootApplication: Spring Boot项目的核心注解,主要目的是开启自动注解;
  • main方法:标准的Java应用的main方法,主要作用是作为项目启动的入口;
  • @RestController:等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。

^-^修改Banner:

在每次启动项目的 时候,都会有一个默认的启动图案:
Alt text
可以定制一个属于自己的启动图案。
(1)在src/main/resources下新建一个banner.txt;
(2)在网站http://patorjk.com/software/taag中输入自己想要的字符:
Alt text
点select& copy,将生成的字符复制到banner.txt文件中;
(3)重新启动项目,即可看到属于自己的启动图案:
Alt text

原创粉丝点击