Spring Boot(一) 基基基基础

作者: 司鑫 | 来源:发表于2017-07-04 09:10 被阅读255次

    一 什么是 Spring Boot


    Spring Boot 并不是一个框架,从根本上将,它是一些库的集合,只需要用 maven 或 gradle 将相应的依赖导入即可使用 Spring Boot,而且无需手动管理这些库,且不需要或很少的 Spring 配置即可快速创建一个 Spring 应用。Spring Boot的诞生不是为了已解决的问题域提供新的解决方案,而是为平台带来另一种开发体验,通过一种特定的方式(约定优于配置)来进行配置,从而避免开发人员每次都去编写模板化的配置,以此达到简化对这些已有技术的使用。

    二 为什么使用 Spring Boot


    随着动态语言的流行(Node.js、Ruby...),Java 的开发就面临着很大的压力,使用 Java 开发一个 web 应用需要很多繁琐的配置、复杂的部署流程以及各种各种框架的集成,从而导致了低下的效率。而使用 Spring Boot 可以快速的搭建一个独立的(运行 jar,内嵌 servlet 容器)、准生产级的基于 Spring 的项目,其中大量的配置都遵循“约定优于配置”的理念来进行模板话的默认配置,不需要开发人员每次的都去编写繁琐的配置,一个简单的 Spring web 应用只需要 20 行代码即可运行。

    目标

    • 为所有 Spring 开发提供一个更快更广泛的入门体验;
    • 开箱即用,不合适时也可以快速抛弃;
    • 提供一系列大型项目常用的非功能性特征,比如:嵌入式服务器、安全性、度量、运行状况检查、外部化配置等;
    • 零配置(无冗余代码生成和 xml 强制配置 ,遵循“约定大于配置”);

    三 Spring Boot 核心功能


    1、独立运行的 Spring 项目

    Spring Boot 项目支持以 jar 包的形式独立运行,只需要执行 java -jar ××.jar 来运行即可。

    2、内嵌 servlet 容器

    Spring Boot 可以内嵌 Tomcat、Jetty 或者 Undertow,这样我们不需要打 war 包即可部署项目。

    3、提供 starter 简化 Maven 配置

    使用 Spring Boot 只需要导入一个 spring-boot-starter-parent 和一个 spring-boot-starter-web 即可,避免了 dependency 之间引发的冲突。

    4、自动配置 Spring

    Spring Boot 会根据类路径中的 jar 包、类自动配置 bean,不需要我们去手动配置,当然这是在“约定”的前提下。

    5、无代码生成和 xml 配置

    Sprin 4.× 提倡使用 java 注解和配置组合,而 Spring Boot 可以做到不需要任何 xml 配置即可完成所有的 Spring 配置。

    四 快速搭建一个应用


    1、创建一个 maven 项目

    注:也可以使用 idea 直接创建一个 Sping Boot 项目(可以直接跳过第二步)

    2、导入相应的依赖

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

    3、编写一个 HelloWorld

    HelloWorldApplication.class
    @Controller
    @SpringBootApplication
    @Configuration
    public class HelloWorldApplication {
    
        @RequestMapping("hello")
        @ResponseBody
        public String hello() {
            return "hello world";
        }
    
        public static void main(String[] args) {
            SpringApplication.run(HelloWorldApplication.class, args);
        }
    }
    

    注:HelloWorldApplication 不可以放在缺省包下。

    4、运行

    run

    5、浏览器访问

    localhost:8080/hello

    持续更新中......

    相关文章

      网友评论

      • 张羽辰:这文章写了跟没写一样
        司鑫:@张羽辰 哈哈。有道理,可以直接去看文档……不过吧,我觉得看完文档(教程),自己做一遍,在自己记录一遍会好一些。都晕了都,优先级最高的应该先弄清楚些撒
        张羽辰:@Acey 窝是觉得先得搞清楚 DI 和 AOP,以及他们被发明出来是干啥的,这篇文字的内容……为啥我不去看文档呢😁
        司鑫:@张羽辰 这篇主要是了解下 Spring Boot的一些概念,然后快速搭建一个 Hello world。 后面再深入。:no_mouth:

      本文标题:Spring Boot(一) 基基基基础

      本文链接:https://www.haomeiwen.com/subject/ddethxtx.html