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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php二次开发知识,Discuz!二次开发基本知识「建议收藏」

    php二次开发知识,Discuz!二次开发基本知识「建议收藏」必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳4)熟悉使用Discuz!的各项功能一)Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。a)Admin:后台管理功能模块b)Api:DZ系统与其它系统之间接…

    2022年5月19日
    33
  • 基于Neo4j构建的外贸企业关系图谱做企业相似度查询「建议收藏」

    基于Neo4j构建的外贸企业关系图谱做企业相似度查询「建议收藏」基于Neo4j的外贸企业关系图谱做企业相似度查询一、外贸企业关系图谱的构建1.从Oracle导出数据2.导入数据到Neo4j3.Neo4j数据展示二、用Cypher做企业关联查询1.多层关系查询2.基于邻居信息的Jaccard相似度计算3.加权关联度得分计算三、总结一、外贸企业关系图谱的构建说来惭愧,本科、研究生期间还没写过博客,正巧最近在写论文,想结合自己开发的项目来构思,于是就通过这篇博客记录一下使用Neo4j图数据库来做企业相似度查询的过程,方便以后参考。这次外贸企业关系图谱的构建用到以前项目中

    2022年6月26日
    24
  • lamp环境下phpwind,wordpress,discuz论坛的搭建全过程

    lamp环境下phpwind,wordpress,discuz论坛的搭建全过程phpwind,wordpress,discuz3大论坛群英聚会目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。这四个软件都是遵循GPL的开放源码软件,它们安全、稳定、快速、功能强大…

    2022年9月18日
    0
  • 纯css3手机页面图标样式代码

    全部图标:http://hovertree.com/texiao/css/19/先看效果:或者点这里:http://hovertree.com/texiao/css/19/hoverkico.htm简

    2021年12月21日
    48
  • 毫米波雷达跟激光雷达_毫米波雷达市场

    毫米波雷达跟激光雷达_毫米波雷达市场文章目录激光雷达超声波雷达摄像头毫米波雷达激光雷达激光雷达的波长介于750nm-950nm之间,以单线或多线束机制辐射光束,接收目标或环境的反射信号,以回波时间差和波束指向测量目标的距离和角度等空间位置参数。激光雷达主要优点如下:(1)波长短,测量精度高(2)多线束的探测,可以实现对场景的三维成像。激光雷达的主要缺点是:(1)抗干扰能力低,易受天气影响,在雨雪雾等天气的作用下,激光雷达使用受限。(2)激光发射、被测目标表面粗糙等因素都对测量精度有影响。(3)结构复杂,除激光

    2022年9月11日
    0
  • 安装Luma QQ (LINUX)

    安装Luma QQ (LINUX)

    2021年4月28日
    131

发表回复

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

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