超详细的Springboot入门教程,看了必会

1 篇文章 6 订阅
订阅专栏
SpringBoot
efdfb67745264e648ebb0bd30b124ac6.png

 

SpringBoot

学习目标

  • SpringBoot简介

    • Java开发发展史

    • SpringBoot和Spring关系

  • SpringBoot快速入门

    • 传统Maven 构建SpringBoot

    • ==Spring构建方式构建SpringBoot[IDEA工具提供了相关的构建方式]==

  • SpringBoot原理分析

    • 依赖关系管理-Java的引用非常少

    • 自动配置-自动加载对象实例

  • SpringBoot配置文件使用

    • SpringBoot配置文件[==application.properties/application.yml==]

    • SpringBoot配置文件数据加载/解析

    • 热部署插件

  • SpringBoot与其他框架集成

    • ==MyBatis==

    • ==JPA==

    • ==SpringData Redis==

    • ==定时任务==

  • SpringBoot单元测试

  • SpringBoot程序打包 jar/war web->jar

 

1 SpringBoot简介

1.1 目标

  • 理解SpringBoot

1.2 讲解

1.2.1 java的开发方式

  • 农耕时代java开发:

    • 基于java底层原生api,纯手工去实现,典型的栗子:servlet、jdbc、javascript、socket...

    • 针对这样低效开发方式,那么需要改革。框架就是拯救者,解放了农耕时代的程序猿,框架可以帮助我们做更多,程序猿主要负责业务的实现。

       

      df313b72a21e457a8286c426feeb74e8.png

       

  • 工业时代java开发:

    • 各种框架一顿搞:典型的栗子SSH、SSM、Vue、jquery、Netty...

    • 在工业时代使用框架虽然简化了我们的开发的代码,但是各种配置文件各种jar又一顿搞。微服务又成了拯救者,解放了工业时代的程序猿。让我们过上了小康生活。

       

      adb9aa6d5ae8441e96fbde97d468a3ae.png

       

  • 现代化java开发:

    • 各种微服务齐活:服务注册与发现、负载均衡与熔断、网关等

    • 各种组件一起上:springboot、springcloud...

       

b10b7bd0b22741ad83c1d138282c685b.png

 

1.2.2 SpringBoot简介

1.2.2.1 spring开发经历的阶段

Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品。无需开发重量级的 Enterprise JavaBean(EJB),Spring 为企业级Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java 对象(Plain Old Java Object,POJO)实现了 EJB 的功能。虽然 Spring 的组件代码是轻量级的,但它的配置却是重量级的。

  • 第一阶段:xml配置:在Spring 1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的在开发的类和配置文件之间进行切换

  • 第二阶段:注解配置:在Spring 2.x 时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(例如@Component、@Service),大大减少了配置量。

  • 第三阶段:java配置管理 :Annotation的出现是为了简化Spring的XML配置文件,但Annotation不如XML强大,所以无法完全取代XMl文件 。例如:@Configuration、@Import等。

所有这些配置都代表了开发时间的损耗。 因为在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。除此之外,项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。

Spring Boot 让这一切成为了过去。

  • 起步依赖:本质是Maven项目对象模型中的标签。它定义其SpringBoot对他库的传递依赖,依赖加在一起即可支持某项功能。最厉害的就是这个,使得SpringBoot具备了构建一切的能力:整合所有牛×框架

  • 自动配置:基于约定优于配置思想,配置基本都可以走默认值。配置基本都是SpringBoot自动完成

 

1.2.2.2 springboot简介

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是==用来简化新 Spring 应用的初始搭建以及开发过程==。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的==Spring应用==。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置),这样我们就可以简单的开始。多数Spring Boot应用只需要很少(额外)的Spring配置。我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,或者采用传统的war部署方式-jar。

我的理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。SpringBoot不是对Spring功能的增强,而是提供一种快速使用Spring的开发方式(全新的开发方式)。634a7a2d0476448bbfbadb06e7ce1f26.png

 

 

1.3 小结

  • SpringBoot并不是一个新的开发语言

  • Spring Boot 简化了基于Spring的应用开发

  • SpringBoot简化了配置

  • 能很容易整合很多第三方优秀框架

 

什么是SpringBoot/SpringBoot的特点

SpringBoot并不是一个新的开发语言,SpringBoot简化了Spring的应用开发,降低了Spring的学习和使用门槛,SpringBoot简化了Spring的配置,并且很容易整合第三方优秀的框架。

 

2 SpringBoot快速入门

2.1 目标

  • 搭建SpringBoot环境

  • 完成:开发一个web应用并完成字符串“hello springboot”在浏览器显示

 

2.2 讲解

2.2.1 springmvc实现简单回顾

实现步骤:

  • 创建maven工程

  • 导入相关依赖的jar包(例如:spring-web、spring-webmvc等)

  • 编写web.xml文件

  • 编写springmvc核心配置文件

  • 编写XxxController

 

2.2.2 SpringBoot实现

2.2.2.1 方式一

(1)创建maven工程

创建一个maven工程(建议:java工程,也可以是web工程),无需勾选maven骨架

1、添加起步依赖(依赖一个父工程)

2、添加web依赖61c15204430d4f8ba40a723c5ff6782c.png

 

 

 

依赖如下:

<!--父工程-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.6.RELEASE</version>
</parent>
​
<!--起步依赖web-->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

 

(2)工程jar依赖情况

此时我们可以发现工程自动引入了很多包,其中还包含tomcat包。

 

c64dcfdf04864a93a28819c1a2ed129b.png

 

(3)引导程序

该程序是发布springboot应用的入口(只需要run一下)

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        // 只需要run一下,就能发布一个springboot应用
        // 相当于之前将web工程发布到tomcat服务器,只是在springboot中集成了tomcat插件
        SpringApplication.run(DemoApplication.class,args);
    }
}

 

(4) 编写HelloController

在工程的src目录下创建com.xxx.controller.HelloController

@RestController
public class HelloController {
    /**
     * 请求 /hello  输出hello springboot!
     * @return
     */
    @RequestMapping(value = "/hello")
    public String hello(){
        return "hello springboot!";
    }
}

 

(5) 测试

在DemoApplication里运行主方法,控制台数据如下图:

 

4bef05d1b9df4a36be0b9f4fb90fa0eb.png

 

访问:http://localhost:8080/hello

 

83f4ce25f4c546c8b52f45730d487bb0.png

 

2.3.2.2 方式二(建议)

(1)创建spring initializr工程

通过idea工具创建工程时,不再选择maven了而是选择spring initializr。然后去勾选相关依赖。

  • step1:新建module,选择spring initializr,然后下一步(如果默认网址不行可以换 https://start.aliyun.com/)fc085ad9e25a47a983a0153ae40cda22.png

     6fec0a84acc948da96f465c27ea3c5a5.png

     

     

     

  • step2:填写项目相关信息f7f4cefab41e49998924683d83b6326a.png

     

     

  • step3:勾选需要的依赖5d09e81c9d144ba8a4ef43179dc13b11.png

     

     

  • step4:完成,工程的目录结构如下

     

14fe984d59534c8d83ebbf829b1642ef.png

 

(2)编写HelloController

在工程的src目录下创建com.xxx.springbootdemo2.controller.HelloController

@RestController
public class HelloController {
    /**
     * 请求 /hello  输出hello springboot!
     * @return
     */
    @RequestMapping(value = "/hello")
    public String hello(){
        return "hello springboot! demo2!";
    }
}

 

(3)测试a9213e803e3a49df8ebe1eabd5d16a6e.png

 

 

访问: http://locahost:8080/hello

 

8a79a08f847748f6af9dd54f5c86c95a.png

 

2.3 小结

  • 搭建SpringBoot环境有2种方式

    • Maven工程直接导包(手动在pom.xml中引入依赖:1.父工程 2.web起步包)

    • Spring Initializr方式(勾选起步包,自动引入依赖,同时自动创建启动类)

  • 使用SpringBoot,我们只用关注业务逻辑,而不用关注业务

  • 启动SpringBoot工程:直接启动启动类的主方法即可(默认集成了tomcat:8080)

 

 

SpringBoot从入门到精通(全)
码农研究僧的博客
08-08 6万+
前言 ==本博文结合软件idea进行主要讲解== **springboot的特性主要有** - 简化 Spring 应用程序的创建和开发过程 - 抛弃了繁琐的 xml 配置过程,采用大量的默认配置简化以及注解反射 - 直接使用 java main 方法启动内嵌的 Tomcat 服务器运行 Spring Boot 程序,不需要部署 war 包文件 **四大核心**分别为自动配置、起步依赖、Actuator和命令行界面
SpringBoot 快速入门(保姆级详细教程
xmp
08-10 1万+
SpringBoot快速入门,保姆级别详细,解决IDEA创建SpringBoot项目一直转圈圈。
SpringBoot教程
02-11
SpringBoot视频全教程,从零开始手把手教学SpringBoot
SpringBoot(看这一篇就够了)
最新发布
m0_74436895的博客
07-30 1万+
Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP(面向切面)为思想内核,极大简化了JAVA企业级项目的开发。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spri
SpringBoot入门最详细教程
热门推荐
liutong123987的专栏
02-27 29万+
网上有很多springboot入门教程,自己也因为项目要使用springboot,所以利用业余时间自学了下springbootspringcloud,使用下来发现springboot还是挺简单的,体现了极简的编程风格,大部分通用都是通过注解就可以完成,下面就来详细讲解下如何使用springboot来开发一个简单的restful api网关功能,可以提供给H5或者android、ios进行接口开...
SpringBoot高级教程
阿巴阿巴
04-02 1054
1、异步处理同步机制[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nOPJYrHD-1680443179350)(E:\工作文档\SpringBoot\images2\09.同步.png)]并发机制[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bq7eYDcP-1680443179352)(E:\工作文档\SpringBoot\images2\10.异步.png)]消息队列机制。
springBoot教程
11-15
spring boot的知识。很全面。做的非常不错。可以下载看一下。
Spring Boot 入门
小单的博客专栏
01-12 10万+
一、简介Spring 官方网站本身使用Spring 框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系。 随着Spring 3.0的发布,Spring IO团队主键开始摆脱XML配置文件,并且在开发过程中大量使用“约定优先配置”(convention over configuration)的思想来摆脱Spring框架中各种复杂的配置,衍生了Java
SpringBoot入门教程
weixin_74476740的博客
12-15 1624
web应用开发一课一得,spring boot的入门介绍
SpringBoot入门了解
小宇哥x的博客
10-14 1279
第 1 章 Spring Boot入门 1、简介 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 2、微服务 微服务:架构风格(服务微化) 一个应用应该是一组小型服务,各司其职,那么对于负载较重的服务可以增加节点,而不用全部增加;每一个服务可以通过HTTP的方式进行互通; 每一个功能元素最终都是一个可独立替换和独立升级的软件单元; 3、环境约束 –jdk1.8:Spring Boot 推荐jdk1.7及以上;java version “1.
springboot 教程完整版
11-22
springboot 完整教程
SpringBoot入门最详细教程.doc
06-16
有很多方法可以快速创建Springboot项目,可以通过idea的springboot initialization来创建,也可以通过手工新建一个maven工程,然后引入springboot的dependency来完成sprignboot的工程导入,还可以通过spring官网的来创建springboot项目,因为有些同学可能没装idea,这里就通过官网的工程初始化指引来创建一个springboot空工程
springboot教程
11-30
深入学习微服务框架,本书籍针对具备一定基础的微服务框架的开发者,学习如何实战使用微服务框架。
Springboot入门到精通(详细文档)
m0_67393413的博客
06-12 3308
我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。2012 年 10 月,Mike Youngstrom 在 Spring jira 中创建了一个功能请求,要求在 Spring 框架中支持无容器 Web 应用程序体系结构
Spring Boot入门到精通(详细
qq_41627024的博客
06-06 5956
本文主要讲了Springboot从基础到高阶涉及到的相关技术,让读者能够快速入门,深入了解Springboot框架,并能够熟练的使用springboot,快速提升个人技能。
工作8年的大佬,分享详细springBoot学习心得以及步骤路线图
小码农 TT
03-23 1464
SpringBoot的目标是简化Spring的开发过程、让开发者快速搭建框架和web容器。并为微服务提供更好的支持,提供服务监控能力。Spring为开发者带来了简单和能力: Spring Boot使编码变简单 Spring Boot使配置变简单 Spring Boot使监控变简单 Spring Boot使部署变简单 本文也是根据近几年的工作、学习经验,来分析和制定一个学习使用 S...
springboot之jar包Linux后台启动部署及滚动日志查看且日志输出至文件保存(详细)
m0_67400973的博客
08-02 6060
*环境对于有的小伙伴不想看我仔细分析,那么你直接看这里就好啦,我把本文章最核心的告诉你,那就是jar的完整启动命令,直接抄标准答案。……好啦,以上就是的如何springboot项目jar后台启动部署及监听日志的全部教学内容啦。如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。...
springboot入门教程
06-09
好的,下面是一个简单的 Spring Boot 入门教程: 1. 安装和配置 Java 和 Maven 首先,需要安装和配置 Java 和 Maven。可以从官方网站下载和安装 Java JDK 和 Maven。 2. 创建一个新的 Spring Boot 项目 使用 Spring Initializr 工具创建一个新的 Spring Boot 项目。可以在 https://start.spring.io/ 上访问该工具,并选择所需的项目依赖项和其他设置。 3. 编写代码 创建一个简单的控制器类,在其中添加一些 REST API 方法。这些方法可以返回 JSON 格式的数据,如下所示: ``` @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, Spring Boot!"; } } ``` 4. 运行应用程序 使用 Maven 构建应用程序,并运行它。可以使用 Maven 命令行工具或集成开发环境(IDE)来运行应用程序。 5. 测试 API 在浏览器或 REST 客户端中访问 API,例如 http://localhost:8080/hello。应该能够看到 "Hello, Spring Boot!" 的响应。 这只是一个简单的 Spring Boot 入门教程,更深入的学习需要更多的资料和实践。希望对您有所帮助!
写文章

热门文章

  • 超详细的Springboot入门教程,看了必会 25009
  • Eureka的几个面试题总结 4931
  • Springboot中测试类报错Error running ‘BootRabbitApplicationTests.contextLoads‘: Failed to resolve org.junit 1271
  • Redis快速入门 358
  • Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on 351

分类专栏

  • springboot 1篇
  • redis 1篇

最新评论

  • 超详细的Springboot入门教程,看了必会

    Hurry Wang: 期待更新!!!表情包表情包表情包

  • 超详细的Springboot入门教程,看了必会

    LICE950: 期待更新

  • 超详细的Springboot入门教程,看了必会

    m0_57983093: 加油更新表情包

  • Redis快速入门

    m0_67760543: 博主写的真好

  • 超详细的Springboot入门教程,看了必会

    m0_67760543: 博主写的真好

最新文章

  • Eureka的几个面试题总结
  • SpringCloud分布式开发理解
  • 记录学习springcloud微服务时遇到的一些组件
2022年8篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家人物雕塑玻璃钢西部牛仔雕塑景区玻璃钢雕塑批发重庆玻璃钢卡通动物雕塑北京玻璃钢烤漆雕塑厂家资阳玻璃钢花盆玻璃钢户外人物雕塑玻璃钢雕塑工艺价格六安玻璃钢雕塑浮雕厂家铜陵定制玻璃钢雕塑玻璃钢雕塑厂家咨询客服浙江特色商场美陈批发价内蒙玻璃钢花盆制作方法厦门商场美陈武汉玻璃钢人物雕塑定做价格鞍山玻璃钢动物雕塑山西仿铜玻璃钢雕塑定做价格玻璃钢卡通狗雕塑摆件玻璃钢雕塑漆教程江苏护栏玻璃钢花盆宝鸡铸造玻璃钢人物雕塑浙江大型商场美陈价钱玻璃钢桃子雕塑售价国庆商场户外美陈洛江商场美陈制作公司福州模压法玻璃钢雕塑销售泸州玻璃钢广场雕塑定制东莞玻璃钢雕塑批量定做重庆定做玻璃钢卡通雕塑洛龙玻璃钢花盆花器安徽玻璃钢雕塑安装香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化