SpringBoot

SpringBoot

SpringBoot是一个框架合集,其存在的核心意义在于简化流程,自动装配。

 

第一个SpringBoot项目

部署

在SpringBoot官网直接创建:https://start.spring.io/

创建之后下载文件即可通过Maven部署。

 

万能的IDEA集成了该网站,一般我们会直接在IDEA创建SpringBoot项目:

 

生成的SpringBoot项目:

 

Application是我们的程序主入口,我们的所有项目都应该配置在主入口同级目录下,否则路径无效。

 


 

运行SpringBoot程序

我们将HelloController配置成一个接口:

package com.rsp2012.demo.controller;
​
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
​
@RestController
public class HelloController {
    //设置前端的请求路径
    @RequestMapping("/hello")
    public String hello(){
        //调用业务生成前端参数
        return "Hello,World";
    }
}

 


 

运行

可以发现SpringBoot使用内置的Tomcat运行,并且端口为8080。

 


 

访问


 

SpringBoot组成部分

pom.xml

SpringBoot依赖项通过maven加载,默认maven有一个远程的父maven,所以SpringBoot的maven依赖可以不用写版本号,通过父maven继承过来。

 

启动器

在SpringBoot中maven的依赖其实是一个一个启动器:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

启动器就是Springboot的启动场景,一个启动器含有这个场景的所以依赖。

换句话说,我们在SpringBoot中所需要使用的所有场景只需要找到对应的启动器即可。

 

主程序入口

package com.rsp2012.demo;
​
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
​
//注解,标注该类是一个SpringBoot应用,SpringBoot的核心,套娃了N多个注解,含有自动装配的原理
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        //主程序入口,一个run方法,反射一个类,
        SpringApplication.run(DemoApplication.class, args);
    }
}

 

全局配置文件

  • application.properties

  • application.yaml

 

两者除了语法区别外,yaml支持各种数据的存储,甚至可以给实体类赋值,而properties只有键值对。

官方虽然默认自带使用properties文件,但是推荐使用的是yaml文件。

properties简单易懂,yaml结构清晰明了。

可以同时存在多个配置文件,不会冲突,而且都会生效,对于冲突的设置,生效优先级为yaml>properties。

 

application.properties语法:

#设置启动Logo
spring.banner.location=banner.txt
#设置Tomcat默认端口
server.port=8080

 

application.yaml语法:

#设置启动Logo
spring:
  banner:
    location: banner.txt

#设置Tomcat默认端口
server:
  port: 8080

一两句可能没有什么区别,但是如果配置的语句多了会发现yaml结构真是太香了。

 

拓展:.xml设置端口语法

<server>
    <port>8080<port>
</server>
posted @   乌鸦の学习  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示