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.  并且不能正常启动。

 

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

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

(0)
上一篇 2022年2月15日 下午11:00
下一篇 2022年2月16日 上午6:00


相关推荐

  • 三菱modbusrtu通讯协议报文_modbus通讯协议详解

    三菱modbusrtu通讯协议报文_modbus通讯协议详解点击箭头处“工业之家”,选择“关注公众号”!modbus通讯协议详解Modbus协议可以说是工业自动化领域应用最为广泛的通讯协议,因为它的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商的产品可以简单可靠的接入网络,实现系统的集中监控,分散控制功能。目前Modbus规约主要使用的是ASCII,RTU,TCP等,并没有规定物理层。目前Modbus常用的接口形式主要有R…

    2025年9月2日
    10
  • byte与word的区别_女生类型分类

    byte与word的区别_女生类型分类在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:typedef unsigned char BYTE;typedef unsigned short WORD;typedef unsigned long DWORD;也就是说BYTE是无符号的char型(char型本质上也是一…

    2022年8月18日
    6
  • python日志格式[通俗易懂]

    python日志格式[通俗易懂]python输出日志时的格式化输出日志时的格式化名称 说明%(levelno)s 打印日志级别的数值%(levelname)s 打印日志级别名称%(pathname)s 打印当前执行程序的路径,其实就是sys.argv[0]%(filename)s 打印当前执行程序名%(funcName)s 打印日志的当前函数%(lineno)d 打印日志的当前行号%(asctime)s 打印日…

    2022年6月9日
    54
  • 微商分销管理系统开发解决方案

    微商分销管理系统开发解决方案微商分销管理系统开发-专业微商分销管理系统解决方案微商分销管理系统是能掌控代理商所以大数据及代理管理体系,通过系统能对产品的生产、仓储、分销、物流运输、市场巡检及消费者等环节进行采集跟踪,实现产品生产环节、销售环节、流通环节…

    2022年5月17日
    41
  • 电子时钟代码

    电子时钟代码/*电子时钟总体样式设置*/#clock{width:800px;font-size:80px;font-weight:bold;color:red;text-align:center;margin:20px;}/*时分秒数字区域的样式设置*/.box1{margin-right:10px;width:100px;height:100px;line-height:100px;…

    2022年6月28日
    46
  • 阿里云之自动化构建方案

    阿里云之自动化构建方案

    2020年11月19日
    201

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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