SpringBoot 学习笔记

本文深入探讨了SpringBoot的自动配置原理,详细解析了@Controller与@RestController的区别。此外,介绍了Thymeleaf模板引擎的配置与使用,包括依赖引入、YML配置、命名空间及表达式等。还提到了Lombok插件在简化实体类代码方面的作用,并简要提及了i18n国际化的实现步骤。

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

一、Springboot 自动转配原理

1、@Controller 与@RestController 的区别

  • 页面跳转使用 @Controller,使用@Controller注解,需要返回数据的方法要加@ResponseBody
  • 获取数据使用 @RestController,相当于@ResponseBody + @Controller合在一起的作用
  • @Controller 与@RestController 都只能使用在class上,不能使用在方法上

在这里插入图片描述

二、thymeleaf 模板引擎(了解,建议学习VUE)

1、增加 spring-boot-starter-thymeleaf 依赖:

  • spring-boot-starter-thymeleaf:自动装配 Thymeleaf 模板引擎
	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

2、YML配置 Thymeleaf属性

application.yml

spring:
  thymeleaf:
    cache: false                  # 是否开启模板缓存,默认为:true,开发时关闭缓存,不然没法看到实时页面!
    mode: HTML                    # 指定模板的模式,默认为:HTML
    encoding: UTF-8               # 指定模板的编码,默认为:UTF-8
    prefix: classpath:/templates/ # 指定模板的前缀,默认为:classpath:/templates/
    suffix: .html                 # 指定模板的后缀,默认为:.html
    servlet:
      content-type: text/html     # 指定 Content-Type 值,默认为:text/html

3、引入命名空间:

<html  xmlns:th="http://www.thymeleaf.org">

4、简单表达式

4.1 ${…} 变量表达式 :

使用方法:直接使用th:xx = “${}” 获取对象属性 。例如:

	<form id="userForm">
	    <input id="id" name="id" th:value="${user.id}"/>
	    <input id="username" name="username" th:value="${user.username}"/>
	    <input id="password" name="password" th:value="${user.password}"/>
	</form>
	
	<div th:text="hello"></div>
	
	<div th:text="${user.username}"></div>

4.2 *{…} 选择变量表达式:

使用方法:首先通过th:object 获取对象,然后使用th:xx = "*{}"获取对象属性

	<form id="userForm" th:object="${user}">
	    <input id="id" name="id" th:value="*{id}"/>
	    <input id="username" name="username" th:value="*{username}"/>
	    <input id="password" name="password" th:value="*{password}"/>
	</form>

4.3 #{…} 消息表达式:

通常用于的获取国际化属性:th:xx="#{} "用于获取国际化语言翻译值。例如:

	<title th:text="#{user.title}"></title>

4.4 @{…} 链接url表达式

使用方法:通过链接表达式@{}直接拿到应用路径,然后拼接静态资源路径。例如:

	<a th:href="@{http://www.baidu.com}">跳转百度</a>
	<script th:src="@{/webjars/jquery/jquery.js}"></script>
	<link th:href="@{/webjars/bootstrap/css/bootstrap.css}" rel="stylesheet" type="text/css">

三、LOMBOK 结构化插件

  1. 创建实体类:
	@Data
	@AllArgsConstructor		//全参构造函数
	@NoArgsConstructor		//无参构造函数
	public class Deptment {
	    private Integer id;
	    private String deptName;
	}
  1. 初始化实体:(使用全参注释@AllArgsConstructor 效果)

在这里插入图片描述

四、i18n国际化

  1. 创建国际化i18n包
  2. 创建国际语言
  3. 定义国际化字段
  4. 配置国际化
  5. 使用国际化地段,使用#{ }

IDEA 创建i18n的文件夹,并创建国际化语言
在这里插入图片描述
使用idea 的可视化Resource bundle 工具定义国际化字段
在这里插入图片描述
配置国际化文件

spring:
  messages:
    basename: i18n.index         #配置国际化i18n文件位置

使用thymeleaf语法使用国际化配置

<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<body>
    <h1 th:text="#{ index.uesr}"></h1>
内容概要:本文档《Docker 新手入门指南》详细介绍Docker这一开源容器化平台,旨在帮助新手理解并掌握Docker的核心概念和基本操作。文中首先解释了Docker的概念及其相对于传统虚拟机的优势,如更快的启动速度、更低的资源占用和更好的隔离性。接着,文档提供了详细的安装步骤,包括不同操作系统下的安装方法以及针对国内用户的镜像加速配置。随后,文章深入讲解了镜像管理和容器操作的基础命令,如拉取镜像、运行容器等。进一步地,文档介绍了使用Dockerfile构建自定义镜像、实现数据持久化、进行端口映射以及利用Docker Compose管理多容器应用等高级技巧。最后,给出了一些学习建议和注意事项,鼓励读者动手实验并关注安全性。 适合人群:适合对容器技术感兴趣的初学者,尤其是有一定Linux基础或打算深入了解Docker的开发人员。 使用场景及目标:①帮助读者快速上手Docker,掌握从安装到实际操作的一系列技能;②通过实例演示,如构建Python Web服务、部署WordPress和搭建Jenkins环境,让读者能够将所学应用于实际项目中;③强调容器化的优势,如提高部署效率、解决环境差异问题。 阅读建议:建议读者跟随文档逐步操作,亲身体验每个步骤,同时参考官方文档和社区资源,不断实践以巩固所学知识。特别注意安全性和资源管理方面的提示,确保容器环境的安全稳定运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值