spring boot 系列之一:spring boot 入门

最近在学习springboot,感觉确实很好用,开发环境搭建和部署确实省去了很多不必须要的重复劳动。接下来就让我们一起来复习下。一、什么是springboot?springboot是干嘛

大家好,又见面了,我是全栈君。

 

最近在学习spring boot,感觉确实很好用,开发环境搭建和部署确实省去了很多不必须要的重复劳动。

接下来就让我们一起来复习下。

一、什么是spring boot ? spring boot是干嘛的?

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

二、spring boot 入门实例

  接下来将通过一个Hello 实例来看下怎么使用spring boot 搭建一个应用。

  1. 创建maven项目
    1. spring boot 系列之一:spring boot 入门

       

    2. spring boot 系列之一:spring boot 入门

       

    3. spring boot 系列之一:spring boot 入门

       

    4. 创建的目录结构spring boot 系列之一:spring boot 入门

       

  2. 配置pom文件
    spring boot 系列之一:spring boot 入门
    spring boot 系列之一:spring boot 入门

    <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>spring-boot</groupId>
        <artifactId>study</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- 指定parent项目 -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.10.RELEASE</version>
        </parent>
    
        <properties>
            <!-- spring boot默认的jdk 版本为1.6,我们在这里改为1.8 -->
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <!-- 引入spring-boot-starter-web 依赖 -->
                <!-- 由于在spring boot 顶层POM文件中定义了相关dependencyManagement,因此这里就不需要配置 <version></version>, 
                    相关说明可以参考 https://blog.csdn.net/liutengteng130/article/details/46991829 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
        </dependencies>
    </project>

    View Code

  3. 创建controller
    spring boot 系列之一:spring boot 入门
    spring boot 系列之一:spring boot 入门

    package com.study.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * 这里@RestController = @ Controller + @ ResponseBody,
     * 
     * 会将方法的返回结果直接放入http 返回报文的正文部分,直接显示到页面
     *
     */
    @RestController
    public class HelloController {
    
        @RequestMapping("/hello")
        public String sayHello() {
            return "hello ,spring boot";
        }
    }

    View Code

  4. 创建app启动类
    spring boot 系列之一:spring boot 入门
    spring boot 系列之一:spring boot 入门

    package com.study;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class App {
    
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    }

    View Code

  5. 测试

    1.上述步骤完成之后,还有一个错误需要解决,根据其提示进行修复即可

    spring boot 系列之一:spring boot 入门

    2.最终的目录结构如下:

    spring boot 系列之一:spring boot 入门

 

    3.运行App的main 方法:Run As–>Java Application

    启动log如下:  spring boot 系列之一:spring boot 入门

    4.通过浏览器访问,正常返回controller中的配置内容

    spring boot 系列之一:spring boot 入门

三、总结

从上述例子我们看到spring boot默认替我们做了一些操作

  1. 嵌入的Tomcat,无需部署WAR文件,默认端口号为8080
  2. 简化Maven配置,自动为我们引入依赖
  3. 自动配置Spring,省去了我们配置spring xml文件的麻烦
  4. 默认我们的项目命名空间为”/”
  5. 还有一个比较重要但是例子中未能显示体现出来的是:spring boot 默认自动扫描 配置了@SpringBootApplication注解的类所在的包及其子包,并且这个类不能放在默认包下,否则会报错

    ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.  并且不能正常启动。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120916.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java开发人员必须掌握的Linux命令(三)

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解知识或者技术,让学习之旅充满乐趣,这就是写博文的初心。前面写了两篇Linux的命令介绍,地址1 地址2 ,前段时间看了哈利波特的一些电影,突然想到Linux的命令就像哈利波特电影中的魔法一样,都是有魔力的。那么学会Linux的这些命令,我…

  • YGC和FGC是什么「建议收藏」

    YGC和FGC是什么「建议收藏」1.YGC和FGC是什么YGC:对新生代堆进行gc。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。FGC:全堆范围的gc。默认堆空间使用到达80%(可调整)的时候会触发fgc。以我们生产环境为例,一般比较少会触发fgc,有时10天或一周左右会有一次。2.什么时候执行YGC和FGCedn空间不足,执行younggcb.old空间不足,…

  • navicat premium 15.0.25激活码【中文破解版】

    (navicat premium 15.0.25激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • maven项目 porm.xml中Dependency Scope属性「建议收藏」

    maven项目 porm.xml中Dependency Scope属性「建议收藏」DependencyScope在POM4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:*compile,缺省值,适用于所有阶段,会随着项目一起发布。*provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。*runtime,…

  • java jar包与war包_jar包和war包的区别,java jar包和war包部署的区别介绍「建议收藏」

    java jar包与war包_jar包和war包的区别,java jar包和war包部署的区别介绍「建议收藏」很多人都在想jar和war部署究竟哪个好呢?jar包和war包这两者之间的区别又是怎样的?有着什么不同?带着这些问题下面就一起来了解一下吧。1、jar包和war包概念介绍最首先的话,我们还是要来对jar包以及war包的概念进行一个简单的了解,首先是jar包。什么是jar包?jar包是类的归档文件,jar文件格式以流行的ZIP文件格式作为基础,和ZIP文件不一样的是,JAR文件不仅仅用来进行压缩和发…

  • C语言空格代码_c语言中空格是字符吗

    C语言空格代码_c语言中空格是字符吗一、逗号,之后加空格printf("error!score[%d]=%d\n",i,score[i]);二、分号;之后加空格for(i=0;i&lt;student_num;i++);三、关系运算符&lt;、&lt;=、&gt;、&gt;=、==、!=前后加空格if((score[i]&gt;=0)&amp;&amp;(s…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号