SpringBoot3-快速入门
前置准备
- Jdk17环境
- idea 2021.2.1+才支持Java17
- Springboot 3.0.5+
开发百科书
Jdk17安装
- homebrew官网,神器
使用homebrew安装jdk17,安装完成后在idea就可以选择jdk17版本了。
#先搜索 openjdk版本
brew search openjdk
#查看要按照的版本详情
brew info openjdk@17
#安装
brew install openjdk@17
#注意,如果是内网搜索不到就选择安装其他版本的,或者从官网下载
#我们可以先在homebrew官网搜索openjdk
#安装完成后如果本地有jdk8等其他版本,还要执行jdk17环境切换命令
sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
#切换jdk8
sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk
快速入门
Springboot特性
springboot只需要打成jar包,服务器有java环境就可以运行。
- java -jar
使用各种场景启动器starter进行应用整合,不再需要导包。
- starter使用maven依赖直接帮我们把需要依赖的jar包引用进来。
自动配置
- 约定大于配置
- 场景自带默认配置,需要自定义再在配置文件中修改即可。
提供生产级特性,如:监控指标,健康检查(k8s),外部化配置(配置文件放在外部,重启后即可生效,不需要再打jar包)等。
简化开发,无需编写任何配置,就可以直接开发业务
简化集中管理配置,配置文件收敛为一个
application.yml
,不像以前ssm要配置多个,spirng有一个,springmvc一个,mybatisy一个等等。
Demo
所有springboot项目都必须继承自pring-boot-starter-parent,因为springboot需要这个parent完成默认初始化依赖。
创建一个springboot启动起来最简单的2个步骤:
- 引入依赖parent,starter-web
- 编写启动类
之后这样就可以写Controller业务代码了
@RestController就是@Controller和@ResponseBody的合体
项目打jar包: mvn clean package
启动部署:执行
java -jar hellodemo-0.0.1-SNAPSHOT.jar
命令即可外部化配置处理。在jar包所在文件夹添加
application.properties
配置文件,修改配置,重新启动修改的配置就能生效。- 注意,测试或生产上要避免这种处理的情况,避免不易排查问题。
-
- 官方提供的场景:命名为:
spring-boot-starter-*
- 第三方提供场景:命名为:
*-spring-boot-starter
- 官方提供的场景:命名为:
引入依赖
<!-- 所有springboot项目都必须继承自pring-boot-starter-parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version>
</parent>
<!-- web开发场景启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot官方提供的应用打包插件,引用后就可以执行clean,install等命令-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
编写启动类
//@SpringBootApplication标识这是个springboot应用
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HellomotoApplication.class, args);
}
}
业务类HelloController
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
System.out.println("-------------hello-----------------");
return "hello world";
}
}
idea打开展示被排除的文件
SpringBoot3-快速入门的更多相关文章
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Vue.js 快速入门
什么是Vue.js vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API.作者是尤雨溪,写下这篇文章时vue.js版本为1.0.7 准备 我推荐 ...
随机推荐
- php简单登录
<?php // 1,php接收参数 $userName = $_POST['userName']; $userPwd = $_POST['userPwd']; // 2,PHP需要操作数据库 ...
- Asp .Net Core 系列:详解鉴权(身份验证)以及实现 Cookie、JWT、自定义三种鉴权 (含源码解析)
什么是鉴权(身份验证)? https://learn.microsoft.com/zh-cn/aspnet/core/security/authentication/?view=aspnetcore- ...
- 剑指Offer-53.表示数值的字符串(C++/Java)
题目: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.14 ...
- MyBatis的逆向工程详细步骤操作
1. MyBatis的逆向工程详细步骤操作 @ 目录 1. MyBatis的逆向工程详细步骤操作 2. 逆向工程配置与生成 2.1 MyBatis3Simple:基础版,只有基本的增删改查 2.1.1 ...
- 订单号规则,不能重复。redis去重 redis集合set应用
订单号规则,不能重复.redis去重 redis集合set应用 redis锁定商品解决并发售卖问题 RedisUtil工具类https://www.cnblogs.com/oktokeep/p/179 ...
- OB_MYSQL UPDATE 优化案例
在工单系统上看到有一条SQL问题还没解决,直接联系这位同学看看是否需要帮忙. 慢SQL: UPDATE A SET CORPORATION_NAME = ( SELECT DISTINCT CORPO ...
- .NET 个人博客-给文章添加上标签
个人博客-给文章添加上标签 优化计划 置顶3个且可滚动或切换 推荐改为4个,然后新增历史文章,将推荐的加载更多放入历史文章,按文章发布时间降序排列. 标签功能,可以为文章贴上标签 推荐点赞功能 本篇文 ...
- QT学习:07 字符编码的问题
--- title: framework-cpp-qt-07-字符编码的问题 EntryName: framework-cpp-qt-07-char-coding date: 2020-04-13 1 ...
- 全志T113-i+玄铁HiFi4开发板硬件说明书(2)
前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板,由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感 ...
- VS2015 、VS2017 MFC输出日志到控制台窗口
原来使用VS2010建立的项目,安装VS2017后,发现MFC无法通过调试窗口输出printf打印的内容,在CSDN上找到了一个解决方案,使用后恢复打印调试信息功能,推荐如下: https://blo ...