【SpringBoot】最新版2019Spring Boot快速入门(速成SpringBoot)——学习笔记版解析【1】

SpringBoot

一、简介

1.背景

产生背景:Spring开发变的越来越笨重,大量的XML文件,繁琐的配置,复杂的部署流程,整合第三方技术时难度大等,导致开发效率低下。

SpringBoot是一个用来简化Spring应用的初始化创建和开发的框架,简化配置,实现快速开发 。

其整合了整个Spring的技术栈,可以说是JavaEE开发的一站式解决方案。

2.优点

  • 快速创建独立运行的Spring应用并与主流框架集成
  • 内置Servlet容器,应用无需打包war包
  • 使用starter(启动器)管理依赖并进行版本控制
  • 大量的自动配置,简化开发
  • 提供了准生产环境的运行时监控,如指标、 健康检查、外部配置等
  • 无需配置XML,没有生成冗余代码,开箱即用

二、第一个SpringBoot

1.推荐环境

官网:https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/reference/htmlsingle/#getting-started
在这里插入图片描述
SpringBoot 2.1.2(基于Spring5.0)

  • JDK 1.8及以上
  • Maven 3.3及以上
    修改:
    在这里插入图片描述
    在这里插入图片描述
  • Tomcat 9.0及以上
    具体情况具体配置。

2.操作

步骤:

1. 创建一个maven的java工程
传统Web应用需要创建一个web工程,后期要打成war包,然后放到tomcat中
springboot应用只需要创建一个java工程,后期直接打成jar包,其内置tomcat
2. 导入SpringBoot相关依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.2.RELEASE</version>
</parent>

<!-- Add typical dependencies for a web application -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3.编写Controller

package cn.cz.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 功能
 *
 * @author czzhao2
 * @created 2019年02月15日 09:35:48
 * @lastModified
 * @history
 */
@Controller
public class HelloController {
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello World";
    }
}

4.编写主程序类

package cn.cz;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 启动程序
 *
 * @author czzhao2
 * @created 2019年02月15日 09:48:33
 * @lastModified
 * @history
 * @Description: 使用@SpringBootApplication标注主程序,表示这是一个SpringBoot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        //启用SpringBoot应用
        SpringApplication.run(MainApplication.class,args);//传入主程序类的Class对象
    }
}

5.测试

  • 右击主程序类,点击run,ok!
    在这里插入图片描述
  • 因为boot内置了tomcat,所以可以直接启动。
    在这里插入图片描述
    注意:boot程序默认只扫描主程序类所在的包及其子包。
    在这里插入图片描述
    当不同级时,需要在主程序多加一个注解,指定扫描包:
@SpringBootApplication
@ComponentScan("cn.cz.controller")

3.部署

  • 添加依赖:
<!-- Package as an executable jar -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
  • 打包
    在这里插入图片描述
  • 将打包好的jar包随意复制到任意盘
    在这里插入图片描述

4.完整分析(pom.xml)

  • 父项目是spring­-boot-­starter-­parent
 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>
  • 父项目的父项目是spring­boot­dependencies,用来管理SpringBoot应用中依赖的版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
  • 通过启动器starter添加依赖
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

SpringBoot提供了许多Starter(启动器),分别对应不同中的应用场景,只要在项目中引入这些starter,相应场景的依赖就会被导入 。
在这里插入图片描述

5.完整分析(主程序类)

  • @SpringBootApplication
    标注在类上,表示这个类是一个SpringBoot应用
  • @SpringBootConfiguration标注在类上,表示这个SpringBoot的配置类,相当于xml配置文件
  • @Configuration标注在类上,表示这个类是Spring的配置类,相当于xml文件
    层级关系:
    @Component–>@Configuration–>@SpringBootConfiguration
  • @EnableAutoConfiguration
    开启自动配置功能,SpringBoot会自动完成许多配置,简化了以前的繁琐的配置
  • @ComponentScan
    标注在类上,指定要扫描的包,默认只扫描主程序类所在的包及其子包

三、快速创建SpringBoot

1.简介

使用向导快速创建SpringBoot项目
在这里插入图片描述
需要启动哪个就勾选哪个,添加starter
在这里插入图片描述

2.基本操作

默认生成的.mvn、.gitignore等可以删除
POM文件和主程序类都已经生成好了,直接写业务逻辑(可以写controller 测试)即可
resources文件夹的目录结构

|­resources
      |­static 存放静态资源,如css js images
      |­templates 存放模板页,可以使用模板引擎,如freemarker、    velocity、theamleaf等
      |­application.properties SpringBoot应用的配置文件 

PS:需要完整版笔记,请评论留下邮箱,我看到后回发给你PDF完整版记录~~~

点击查看分版笔记目录:

【SpringBoot】最新版2019Spring Boot快速入门(速成SpringBoot)——学习笔记版解析【1】
【SpringBoot】最新版2019Spring Boot配置解析,源码解析(速成SpringBoot)——学习笔记版【2】
【SpringBoot】最新版2019Spring Boot之WEB开发——Thymeleaf模板引擎速成(速成SpringBoot)——学习笔记版解析【3】
【SpringBoot】最新版2019Spring Boot之MVC功能,异常处理,servlet容器(速成SpringBoot)——学习笔记版解析【4】
【SpringBoot】最新版2019Spring Boot之连接数据库——JDBC,MyBATIS,分页,MyBatis­Plus(速成SpringBoot)——学习笔记版解析【5】

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
spring boot+spring cloud视频教学下载全套。( ├1 公开课.avi ├10 4.6 Ribbon-3使用配置文件自定义Ribbon Client.avi ├11 4.7 Ribbon-4 Ribbon脱离Eureka使用.avi ├12 4.8 Feign-1 Feign的简介及基础使用.avi ├13 4.9 Feign-2覆写Feign的默认配置.avi ├14 4.10 Fegion-3覆写Fegion的默认配置及Fegion的日志.avi ├15 4.11 Fegion-4解决Fegion第一次请求timeout的问题.avi ├16 4.12 Eureka深入理解.avi ├17 4.13 Eureka常用配置详解.avi ├18 4.14 Eurek Ribbon Feign常见问题及解决.avi ├19 5.1超时机制,断路器模式简介.avi ├2 1.1 微服务架构概述.avi ├20 5.2 Hystrix简介及简单代码示例.avi ├20 5.2Hystrix简介及简单代码事例.avi ├21 Hystrix Health Indicator及Metrics Stream.avi ├22 5.4 Hystrix Health Indicator及Metrics Stream支持.avi ├23 5.5 Fegion的Hystrix支持.avi ├24 5.6如何禁用单个FegionClient的Hystrix的支持.avi ├25 5.7 Feign使用fallbackFactory属性打印fallback异常.avi ├26 5.8 Hystrix Dashboard的使用与常见问题总结.avi ├27 5.9 Turbine-上.avi ├28 5.9 Turbine-下.avi ├29 6.1 API Gateway简介.avi ├3.开始使用Spring Cloud实战微服务.avi ├30 6.2 Zuul简介及代码示例.avi ├31 6.3 Zuul指定path+serviceid.avi ├32 6.4 Zuul指定Path+url以及指定可用的服务节点时如何负载均衡.avi ├33 6.5 Zuul使用正则表达式指定路由规则.avi ├34 6.6 Zuul路由的strip-prefix与order.avi ├35 6.7 Zuul的各种姿势.avi ├36 6.8通过Zuul上传文件,禁用Zuul的Filters.avi ├37 6.9 Zuul的回退.avi ├38 6.10 使用Sidecar支持异构平台的微服务.avi ├39 6.10 Sidecar补充.avi ├4 服务提供者与服务消费者.avi ├4 服务提供者与服务消费者new.avi ├40 6.11-1 Zuul过滤器.avi ├41 6.11-2禁用Zuul的过滤器.avi ├42 7.1 Spring Cloud Config简介.avi ├43 7.2 编写Config Server.avi ├44 7.3 编写Config Client.avi ├45 7.4 Git仓库配置详解.avi ├46 7.5配置属性加解密之对称加密.avi ├47 7.6配置属性加解密之非对称加密.avi ├48 7.7 Spring Cloud Config与Eureka.avi ├49 7.8 Spring Cloud Config 与Eureka配合使用.avi ├5 4.1服务发现与服务注册.avi ├50 7.9 Spring Cloud Config配置属性刷新之手动刷新.avi ├51 7.10 Spring Cloud Config配置属性刷新之自动刷新.avi ├52 7.11 Spring Cloud Config配置属性刷新之自动刷新补充.avi ├53 7.12 Config Server的高可用.avi ├6 4.2Eureka简介与Eureka Server上.avi ├7 4.3将微服务注册到Eureka Server上.avi ├8 4.4 Ribbon-1 Ribbon的基本使用.avi ├9 4.5 Ribbon-2通过代码自定义配置ribbon.avi )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OrangeChenZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值