SpringBoot学习记录之入门篇
1、简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2、SpringBoot的优势
- 帮助开发者快速搭建Spring框架,无需配置自动整合第三方框架
- 继承了原有的Spring框架的优秀基因。
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 简化了Spring的使用过程,提高了开发效率。
3、快速入门
使用IDEA快速创建SpringBoot项目。
然后一直点击Next创建完毕。
在包的同级目录下创建一个Hello类:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | package com.thr; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author */ @RestController () public class Hello { @RequestMapping (value = "/hello" ) public String hello(){ return "Hello Springboot" ; } } |
启动SpringBootApplication类,然后访问页面。
好了,第一个SpringBoot项目成功!!!
4、修改Banner
启动SpringBoot项目时,会打印一个Spring的图案,如下:
我们也可以对这个图案进行修改:
- 在src/main/resources下新建一个banner.txt文档
- 通过 http://patorjk.com/software/taag 网站生成需要的字符,将字符拷贝到banner.txt文档中,比如用Hello Spring,如下:
复制进去后重启,效果如下:
5、关闭Banner
启动的时候也可以关闭这个banner,只需要在启动类的main方法中设置一下即可:
01 02 03 04 05 06 07 08 09 | @SpringBootApplication public class Springboot01HelloApplication { public static void main(String[] args) { SpringApplication springApplication = new SpringApplication(Springboot01HelloApplication. class ); springApplication.setBannerMode(Banner.Mode.OFF); springApplication.run(args); } } |
6、Profile配置
SpringBoot提供非常简单的切换坏境的方法,全局Profile配置使用application-{profile}.properties来定义,然后在application.properties中通过spring.profiles.active来指定使用哪个Profile。
我们在resources下面创建三个properties文件,如下:
开发坏境application-dev.properties:
server.port=8081
生产坏境application-prod.properties:
server.port=8082
测试坏境application-test.properties:
server.port=8083
然后在application.properties文件配置一下需要启用的配置文件,如下:
spring.profiles.active=dev
这里使用开发(dev)坏境启动,只有 8081端口才能访问,启动项目:
如果需要切换坏境,只需要将 spring.profiles.active=dev改成spring.profiles.active=prod即可,然后用8082访问成功:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!