SpringBoot项目构建_day01

本文深入介绍了SpringBoot的高级用法,包括pom.xml的配置,如parent标签的作用、dependency的按需导入、spring-boot-devtools的热部署、lombok的使用以及spring-boot-maven-plugin插件的功能。此外,还详细讲解了application.yml和application.properties的配置语法。在SpringMVCController层,讨论了@RestController注解的使用以及通过@Value注解进行属性赋值的方法。最后,阐述了Spring的自动装配过程及依赖注入原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot的高级用法

1.配置文件的说明

1.1 pom.xml文件的说明

1.1.1parent标签的解析

SpringBoot的定位:主要是整合SSM,使得框架使用更加简洁

parent的主要作用:
1、SpringBoot在内部兼容了几乎所有的第三方框架
2、SpringBoot官网已经将所有的兼容的版本进行了定义(几乎解决了版本冲突的问题),以后不用用户自己写版本号
3、 概括:parent标签中定义了其他标签的项目版本信息

1.1.2、项目maven的基本信息
坐标1:组ID 公司域名倒写
2:项目名称 不能重复 不能数字开头
3:项目版本
坐标的意义:
1、主要用于管理/区分项目
2、项目的打包的路径就是坐标的位置

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.5.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

1.1.3、dependency解析
原则:按需导入

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

SpringBoot的启动项,在包的内部springboot已经完成了所有项目的“整合”(配置)–开箱即用,用户直接拿来用
web导入了springmvc
1.1.4、热部署
只对开发阶段(码农编码环节)起作用

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

1.1.5 lambok
引入插件lombok 自动的set/get/构造方法插件

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

1.1.6 springboot项目与Maven整合的一个插件

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

作用:可以通过插件 执行项目打包/测试/文档生成等操作
注意: 该插件不能被省略
如果省略启动时就会被报错:
利用命令启动发布项目:java -jar ***.jar 报错:没有主清单信息!!

1.1.7 maven命令
请添加图片描述
1、clean清空已经编译之后的文件class(位于target目录中)
2、install 将项目中的target中的class文件打包 xxx.jar包
install会将测试类中的class文件也打包
3、跳过测试类文件的打包

 <properties>
        <java.version>1.8</java.version>
        <!--跳过测试类打包-->
        <skipTests>true</skipTests>
  </properties>

1.2 application.yml语法说明

数据结构:K-V
数据类型:String/Number类型

server:
  port: 8091

语法: 1、key:(空格)value
2、key于value之间有层级关系,注意缩进
3、字符编码格式:utf-8
4、可读性properties文件更加便捷

概述:YML是Spring的核心配置文件:用来整合其他第三方框架,大量数据放在yml中不符合

1.3 application.properties语法说明

数据结构:K-V
数据类型:String/Number类型
语法: 1、id=100
name=tomcat
注意不要写成:name=“tomcat” ❌ 分析;因为此时tomcat本身就是一个字符串,不需要多余的引号
2、k-v使用=号连接
3、properties文件在IDEA中的编码格式是utf-8
4、properties文件在被读取时默认是ISO-8859-1格式,中文必定是乱码
5、k-v不要出现空格

2 SpringMVC Controller层注解

2.1 @RestControlle=@ResponseBody+@Controller

作用:1、响应用户发起的请求
2、响应用户的JSON串
3、@ResponseBody可以将对象转换为JSON串
4、如果返回值为String类型,则返回本身

2.2 注解赋值

2.2.1 方法一、在spring核心配置文件中存储属性配置信息
#添加业务数据 Spring则管理维护数据

public class HelloController {

    //从spring容器内部为属性赋值
    //语法:spel表达式
    @Value("${User.day}")
    private  String day;
    
    @RequestMapping("test2")
    public  String test2(){
        return  "这个雨下"+day;
    }

application.yml文件:

User:
  day: 1

2.2.2方法二、创建properties配置文件
使用方法:在spring容器启动时动态添加配置文件(一般需要修改字符集)

@PropertySource(value="classpath:/person.properties",encoding ="utf-8")
@RestController
@RequestMapping("/run/")
public class HelloController {
@Value("${person.name}")
    private String name;
@RequestMapping("test3")
    public  String  test3(){
        return "名字是"+name;
    }
   }

自己创建命名person.properties文件:

person.name=王狗蛋

2.2.3概述:
关于注解赋值:
1、必须满足k-v
2、若属性只有一个并且是value属性,则可以省略不写

@Value(value="${User.day}")//此处value可省略
    private  String day;

3、如果是乱码,检查IDEA的字符集是否是utf-8

为属性赋值的意义:
1、实现了.java文件与属性赋值的解耦
2、为了实现特定的业务的赋值
3、springboot在整合其他框架时,需要额外配置文件时,常常采用上述操作来实现

2 Spring自动装配过程

2.1Spring“容器”

说明:Spring容器是内存中一大块区域
数据结构:K-V结构
数据类型:Map集合
Map详细说明:Key:类型首字母的小写
Value: 对象

2.2依赖注入的原理

1、按照类型注入
2、按照名称注入

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值