学习SpringBoot笔记--知识点(2)

目录

数据访问

基础特性

自定义banner

Profiles

Profiles组件

Profiles配置文件

外部化配置

单元测试


数据访问

整合SSM场景

SpringBoot 整合 Spring,SpringMVC,MyBatis 进行数据访问场景开发

需要的依赖:

<!--        web启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
<!--        mybatis启动器--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version></dependency>
<!--        mysql驱动--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency>

配置文件里配置数据源:

# 数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456#数据源类型
spring.datasource.type=com.zaxxer.hikari.HikariDataSource# 告诉mybatis每个接口的xml文件在哪个包下
mybatis.mapper-locations=classpath:/mappers/*.xml
# 驼峰命名
mybatis.configuration.map-underscore-to-camel-case=true

准备pojo类:在启动类同等目录下创建pojo.User:

@Data
public class User {private Long id;private String name;private Integer age;
}

创建mapper层:

java代码:在启动类同等目录下创建 mapper.UserMapper接口(可以在启动类上中用包扫描注解把所有mapper接口放到ioc容器,可以不用注解):

@MapperScan(basePackages = "com.qiu.boot3project.mapper")
@SpringBootApplication
public class Boot3ProjectApplication {public static void main(String[] args) {SpringApplication.run(Boot3ProjectApplication.class, args);}}
public interface UserMapper {public User getUserById(@Param("id") Long id);
}

xml文件:在resources下创建mappers.UserMapper.xml(目录无所谓,到时候可以在配置文件中指定):

# 告诉mybatis每个接口的xml文件在哪个包下
mybatis.mapper-locations=classpath:/mappers/*.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qiu.boot3project.mapper.UserMapper"><select id="getUserById" resultType="com.qiu.boot3project.pojo.User">select * from user where id = #{id}</select>
</mapper>

编写服务:

@RestController
public class UserController {@Autowiredprivate UserMapper userMapper;@GetMapping("user/{id}")public User getUserById(@PathVariable Long id){User user = userMapper.getUserById(id);return user;}
}

访问:localhost:8080/user/1 


基础特性

自定义banner

在resources下创建一个banner.txt

可以在 Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.neticon-default.png?t=N7T8https://www.bootschool.net/ascii

中将字体变化:

将结果放到banner.txt下,在配置文件中设置:

# 自定义banner文本
spring.banner.location=classpath:/banner.txt
# 取消banner
#spring.main.banner-mode=off

效果:


Profiles

Profiles组件

SpringBoot环境隔离能力:快速切换开发,测试,生产环境。

两种方式: 

Profiles配置文件


外部化配置

配置优先级


单元测试

启动器:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/771853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何从其他平台复制商品上传到自己店铺?官方授权接口,一键复制爆款同款

很多做一件代发的卖家在上新时会从其他平台选品铺货&#xff0c;看到某个商品卖得不错&#xff0c;直接复制到自己店铺去卖&#xff0c;可以节省测款成本。 现在平台严查无货源&#xff0c;直接从别人店铺搬运商品属于违规违规行为&#xff0c;想要复制这个爆款的话&#xff0…

鸿蒙HarmonyOS应用开发—AbilityStage组件容器

AbilityStage是一个Module级别的组件容器&#xff0c;应用的HAP在首次加载时会创建一个AbilityStage实例&#xff0c;可以对该Module进行初始化等操作。 AbilityStage与Module一一对应&#xff0c;即一个Module拥有一个AbilityStage。 DevEco Studio默认工程中未自动生成Abil…

ArcGIS二次开发(一)——搭建开发环境以及第一个简单的ArcGIS Engine 程序

Arcgis10.2、Arcgis Engine10.2与Microsoft Visual Studio 2012的版本进行安装 1、推荐教程与安装包2、安装顺序3、安装成功测试VS新建项目可以创建ArcGIS项目&#xff0c;并且在VS中拖拽ArcGIS工具 4、搭建第一个简单的ArcGIS Engine 程序 ArcEngine和VS版本是有对应的&#x…

【Python】enumerate函数的使用方法,小白一看就懂

enumerate函数的使用方法&#xff1a; season[‘a’,‘b’,‘c’,‘d’] for i in enumerate(season): print(i) season[‘a’,‘b’,‘c’,‘d’] for i,eliment in enumerate(season): print(i,eliment) 输出结果为&#xff1a; 练习题&#xff1a; 2.给出10个学生姓名…

从0到1:校园生活圈小程序开发笔记(一)

可行性研究 校园生活圈小程序是一种面向大学或学院校园的社交平台&#xff0c;旨在为校园内的师生提供交流、分享、互助和信息发布等功能。 为校园内的师生提供一个便捷的平台&#xff0c;帮助他们更好地了解校园生活、参与校园活动、交流学习和共享资源。 功能分解 公告资讯…

力扣HOT100 - 42. 接雨水

解题思路&#xff1a; 动态规划 感觉不是很好想 class Solution {public int trap(int[] height) {int n height.length;if (n 0) return 0;int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i…

JS加密解密之应用如何保存到桌面书签

前言 事情起因是这样的&#xff0c;有个客户解密了一个js&#xff0c;然后又看不懂里边的一些逻辑&#xff0c;想知道它是如何自动拉起谷歌浏览器和如何保存应用到书签的&#xff0c;以及如何下载应用的。继而诞生了这篇文章&#xff0c;讲解一下他的基本原理。 渐进式Web应用…

docker使用教程

寒假用了docker 2个月没用 结果还重新安装docker 忘了怎么用 为了免得以后忘写下下面内容 # If you dont have a docker installed, youll need to install docker curl -s https://get.docker.com/ | sh # Use pip to install docker-compose pip install docker-compose…

【力扣hot100】207 课程表(c++、python)解析

相关题目&#xff1a; 210 课程表2 【力扣hot100】207 课程表&#xff08;c、python&#xff09;解析 1.官方题解&#xff1a;1.1深搜c版本python版本 1.2广搜c版本 1.官方题解&#xff1a; 这是一题经典的「拓扑排序」问题 给定一个包含 n 个节点的有向图 G&#xff0c;我们…

网络七层模型:理解网络通信的架构(〇)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

idea-创建java8的springboot项目

现在使用IDEA创建 Spring Boot 项目&#xff0c;jdk 版本最低要求为 17。Spring Boot 官方在全力维护 3.x 版本&#xff0c;而 Spring Boot 3.x 对 jdk 版本的最低要求为17。 如果需要继续使用 jdk8&#xff0c;则需要修改 Server URL &#xff0c;改成&#xff1a;https://st…

解决 vue activited 无效问题

当对页面APP.vue组件router-view标签使用了keep-alive之后在组件activated状态时不会发送请求&#xff0c;这时需要使用 keep-alive标签的 exclude属性排除需要重新发送请求的组件。需要注意exclude的值要和组件本身的name值要一致&#xff0c;如果不一致就会不生效。目前我出现…

C++运算符重载中的引用返回

文章目录 引言原因1.为了支持链式调用2.避免不必要的对象创建和复制3.保持语义一致性 引言 在C编程语言中&#xff0c;运算符重载是一项强大的特性&#xff0c;它允许程序员为自定义类型重新定义或重载已有的运算符&#xff0c;从而使得这些类型能够像内置类型一样使用运算符。…

离线linux服务器安装mysql8

本文的服务器环境&#xff1a;openEuler毛坯版的&#xff0c;很多常用的指令都没有预装&#xff0c;比如rpm、tar等等&#xff0c;没有网络坏境&#xff0c;需要自己手动配置本地yum仓库&#xff0c;安装相关指令 1、检查服务器是否已经安装了MySQL 1.1、查询mysql以安装的相关…

使用Docker本地搭建蚂蚁笔记并实现无公网IP远程访问

文章目录 1. 安装Docker2. Docker本地部署Leanote蚂蚁笔记3. 安装cpolar内网穿透4. 固定Leanote蚂蚁笔记公网地址 本篇文章介绍如何使用Docker部署Leanote蚂蚁笔记&#xff0c;并且结合cpolar内网穿透实现公网远程访问本地笔记编辑并制作个人博客等。 Leanote 蚂蚁笔记是一款云…

Echarts 仪表盘

1、效果图 2、代码 createTenantChartOne(){var myChart1 this.$echarts.init(document.getElementById(tenant-chart-1));var dataArr 82;var title 仪表盘;let option {graphic: {type: text,left: center,top: 85%,style: {text: title,textAlign: center,//居中对齐fi…

微服务高级篇(五):可靠消息服务

文章目录 一、消息队列MQ存在的问题&#xff1f;二、如何保证 消息可靠性 &#xff1f;2.1 生产者消息确认【对生产者配置】2.2 消息持久化2.3 消费者消息确认【对消费者配置】2.4 消费失败重试机制2.5 消费者失败消息处理策略2.6 总结 三、处理延迟消息&#xff1f;死信交换机…

application.properties 里面和 application.yml 里面都配置了同样的参数 ,哪个会生效

在Spring Boot中&#xff0c;如果application.properties和application.yml&#xff0c;application-dev.yml&#xff08;application.yml中指定了avtive: dev&#xff09;中同时配置了相同的参数&#xff0c;Spring Boot默认会按照一定的加载顺序加载配置文件&#xff0c;并且…

【保姆级带你了解机器学习的概念,步骤,分类和实践】

&#x1f525;博主&#xff1a;程序员不想YY啊&#x1f525; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 &#x1f91d;希望本文对您有所裨益&#xff0c;如有…

方案功能开发:智能机器人玩具

玩具电动趣萌机器人方案开发定制&#xff0c;东莞市酷得智能科技有限公司是研发型芯片贸易公司&#xff0c;可为制造厂商朋友定制软件底层方案。下面介绍一下机器人方案可实现的功能&#xff1a; 基础功能&#xff1a; 方向&#xff1a;前进&#xff0c;后退&#xff0c;左转&a…