2020-12-26

SpringBoot-初体验

SpringBoot简介

概述

SpringBoot是Spring生态的一个模块,现在有2个版本,但是SpringBoot2版本的更新幅度非常大,而且小版本更新也非常快!

在spring官网下划有2段话,就能看出Spring Boot的地位

With Spring Boot in your app, just a few lines of code is all you need to start building services like a boss.--在应用程序中使用Spring Boot,仅需要几行代码就可以构建服务
Originally [Netflix's Java] libraries and frameworks were built in-house. I'm very proud to say, as of early 2019, we've moved our platform almost entirely over to Spring Boot."

作用

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".--能快速创建出生产级别的Spring应用

特性

- Create stand-alone Spring applications 创建独立的Spring应用程序- Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)- Provide opinionated 'starter' dependencies to simplify your build configuration 自动starter依赖,简化构建配置- Automatically configure Spring and 3rd party libraries whenever possible 自动配置Spring以及第三方功能- Provide production-ready features such as metrics, health checks, and externalized configuration 提供生产级别的监控、健康检查及外部化配置- Absolutely no code generation and no requirement for 

参考地址

SpringBoot官网地址:https://spring.io/projects/spring-boot

SpringBoot版本说明:https://github.com/spring-projects/spring-boot/wiki#release-notes

SpringBoot结构

SpringBoot入门

SpringBoot入门可以参考地址:

https://docs.spring.io/spring-boot/docs/2.3.7.RELEASE/reference/html/getting-started.html#getting-started

系统要求

工具说明
JDKjava8,兼容Java15
Maven3.3+
或者Gradle6(6.3或更高版本)

创建maven工程

引入依赖

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.7.RELEASE</version></parent><dependencies> <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId> </dependency></dependencies>

创建主程序

@SpringBootApplicationpublic class MainApplication { public static void main(String[] args) {  SpringApplication.run(MainApplication.class, args); }}

编写业务

@RestControllerpublic class HelloController { @RequestMapping("/hello") public String hello() {  return "hello SpringBoot!"; }}

运行程序

执行主程序,浏览器发送 id="配置文件">配置文件

web程序中有各种配置比如端口等,SpringBoot有默认值,但是也可以创建配置文件进行更改

配置的参考地址:https://docs.spring.io/spring-boot/docs/2.3.7.RELEASE/reference/html/appendix-application-properties.html#common-application-properties

比如:创建application.properties文件

server.port=9999

此时浏览器发送的地址为 id="简化部署">简化部署

pom.

<build> <plugins>  <plugin>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-maven-plugin</artifactId>  </plugin> </plugins></build>

然后就可以把项目打成jar包,之后直接在目标的服务器执行即可!

入门程序的说明

看一下引入的pom依赖

<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.7.RELEASE</version>点进去可见有一个父项目的依赖<groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.3.7.RELEASE</version>接着点进去就可以看见里面有各种依赖,在里面搜索spring-boot-starter-web,可以看见 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.3.7.RELEASE</version> </dependency>

ps:看见各种的spring-boot-starter-*,这是SpringBoot内置的启动器,表示此场景下所需的依赖都进行导入

starter参考地址:

https://docs.spring.io/spring-boot/docs/2.3.7.RELEASE/reference/html/using-spring-boot.html#using-boot-starter

看一下引入spring-boot-starter-web之后的jar包继承图

总结一下SpringBoot的自动配置特点

  • 内嵌tomcat服务器

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.3.7.RELEASE</version> <scope>compile</scope></dependency>
  • 具有SpringMVC的功能,也就是SpringMVC的常用组件默认也都能做

    <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.12.RELEASE</version> <scope>compile</scope></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.12.RELEASE</version> <scope>compile</scope></dependency>
  • 默认的包结构:主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来,依靠的就是@SpringBootApplication注解

  • 具有默认配置

    引入所需的场景starter之后,就有了此starter的默认配置,是以类展现的

    比如:

    public class Tomcat { 	protected Server server; protected int port = 8080; protected String hostname = "localhost"; protected String basedir;------------------------------------------------------------  @ConfigurationProperties( prefix = "spring.servlet.multipart", ignoreUnknownFields = false)public class MultipartProperties { private boolean enabled = true; private String location; private DataSize maxFileSize = DataSize.ofMegabytes(1L); private DataSize maxRequestSize = DataSize.ofMegabytes(10L); private DataSize fileSizeThreshold = DataSize.ofBytes(0L); private boolean resolveLazily = false;








原文转载:http://www.shaoqun.com/a/504112.html

跨境电商:https://www.ikjzd.com/

巴克莱银行:https://www.ikjzd.com/w/2775

宝付:https://www.ikjzd.com/w/539


SpringBoot简介概述SpringBoot是Spring生态的一个模块,现在有2个版本,但是SpringBoot2版本的更新幅度非常大,而且小版本更新也非常快!在spring官网下划有2段话,就能看出SpringBoot的地位WithSpringBootinyourapp,justafewlinesofcodeisallyouneedtostartbuildingserviceslikeab
贝恩投资公司:贝恩投资公司
焦点科技:焦点科技
口述:老公一碰我就恶心我想撞墙泄愤老公丈夫泄愤:口述:老公一碰我就恶心我想撞墙泄愤老公丈夫泄愤
苹果公司市值跌至第四 亚马逊仍受华尔街青睐:苹果公司市值跌至第四 亚马逊仍受华尔街青睐
口述:老板夫人居然向我借腹为她生子老板夫人公司:口述:老板夫人居然向我借腹为她生子老板夫人公司

No comments:

Post a Comment