SpringBoot 基础篇 SpringBoot概述概述SpringBoot时Spring提供的一个子项目用于快速构建Spring应用程序SpringBoot特性起步依赖、自动配置、其他特性起步依赖本质上就是一个Maven坐标整合完成了一个功能需要的所有坐标自动配置遵循约定大约配置的原则在boot程序启动后一些bean对象会自动注入到ioc容器不需要手动生命简化开发其他特性内嵌的Tomcat、Jettly无需部署WAR文件外部化配置不需要XML配置properties/yml配置文件properties配置文件1.application.propertiesserver.port9090 server.servlet.context-path/start2.application.yml/ application.yamlserver: port: 9191 servlet: context-path: /start2yaml配置文件 书写与获取①第三方技术配置信息②自定义配置信息email: user: 593140521qq.com code: jfejwezhcrzcbbbb host: smtp.qq.com auth: true书写· 值前面必须有空格作为分隔符· 使用空格作为缩进表示层级关系相同的层级左侧对齐获取· Value“${键名})· ConfigurationProperties(prefix 前缀)整合MyBatiscreate database if not exists mybatis; use mybatis; create table user( id int unsigned primary key auto_increment comment ID, name varchar(100) comment 姓名, age tinyint unsigned comment 年龄, gender tinyint unsigned comment 性别, 1:男, 2:女, phone varchar(11) comment 手机号 ) comment 用户表; insert into user(id, name, age, gender, phone) VALUES (null,白眉鹰王,55,1,18800000000); insert into user(id, name, age, gender, phone) VALUES (null,金毛狮王,45,1,18800000001); insert into user(id, name, age, gender, phone) VALUES (null,青翼蝠王,38,1,18800000002); insert into user(id, name, age, gender, phone) VALUES (null,紫衫龙王,42,2,18800000003); insert into user(id, name, age, gender, phone) VALUES (null,光明左使,37,1,18800000004); insert into user(id, name, age, gender, phone) VALUES (null,光明右使,48,1,18800000005);package com.itheima.mybatisquickstart.pojo; public class User { private Integer id; private String name; private Short age; private Short gender; private String phone; public User() { } public User(Integer id, String name, Short age, Short gender, String phone) { this.id id; this.name name; this.age age; this.gender gender; this.phone phone; } public Integer getId() { return id; } public void setId(Integer id) { this.id id; } public String getName() { return name; } public void setName(String name) { this.name name; } public Short getAge() { return age; } public void setAge(Short age) { this.age age; } public Short getGender() { return gender; } public void setGender(Short gender) { this.gender gender; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone phone; } Override public String toString() { return User{ id id , name name \ , age age , gender gender , phone phone \ }; } }Bean管理Bean扫描·标签 context:component-scan base-packagecom.itheima/·注解 ComponentScan(basePackages com.itheima)Bean注册*如果要注册的bean对象来自于第三方不是自定义的无法用Conponent 及衍生注解生命bean的·Bean如果要注册第三方bean建议在配置类中集中注册·Import导入 配置类导入 ImportSelector 接口实现类EnableXxxx注解封装Import注解注册条件SpringBoot提供了设置注册生效条件的注解Conditional自动配置管理自动配置原理①在主启动类上添加了SpringBootApplication注解这个注解组合了EnableAutoCongfiguration注解②EnableAutoCongfiguration注解又组合了Import注解导入了AutoCongfigurationImportSelector类③实现selectImprots方法这个方法经过层层调用最终会读取META-INF目录下的后缀名为imorts的文件自定义starter需求自定义mybatis的starter步骤·创建 dmybatis-spring-boot-autoconfigure模块提供自动配置功能并自定义配置文件META-INF/spring/xxx.imports·创建dmybatis-spring-boot-starter模块在starter中引入自动配置模块1.创建autoconfigure模块编写自动配置类Configuration public class CommonConfig { // 示例根据配置文件条件注册 Bean Bean ConditionalOnProperty(prefix country, name {name, system}) public Country country(Value(${country.name}) String name, Value(${country.system}) String system) { return new Country(name, system); } Bean public Province province() { return new Province(); } }2.创建自动配置入口类AutoConfiguration Import(CommonConfig.class) public class CommonAutoConfig { }3.配置自动配置加载文件cn.itcast.config.CommonAutoConfig4.创建starter模块引入autoconfigure依赖dependency groupIdcn.itcast/groupId artifactIddmybatis-spring-boot-autoconfigure/artifactId version1.0.0/version /dependency

相关新闻

最新新闻

RTX 4090散热模组压TEC:高性能散热跨界方案实战解析

RTX 4090散热模组压TEC:高性能散热跨界方案实战解析

1. 这篇文章真正要解决的问题 当“RTX4090”和“半导体制冷片”这两个词同时出现,很多人的第一反应可能是:这又是什么“科技狠活”?是给显卡超频的终极散热方案,还是DIY玩家的又一次疯狂实验? 实际上,这个…

2026/9/3 5:04:55
QT图书管理系统实战:C/S架构下的跨平台稳定部署

QT图书管理系统实战:C/S架构下的跨平台稳定部署

简介:这是一套基于Qt框架开发的C/S架构图书管理系统实战源码,面向C与Qt初学者及课程设计学习者,解决图书馆场景下图书检索、借阅归还、用户管理与数据持久化等核心业务需求。资源包共120个文件,含21个CPP实现文件、34个H头文件构成…

2026/9/3 5:04:55
三维路径规划:RRT算法与二次规划轨迹平滑的MATLAB实现

三维路径规划:RRT算法与二次规划轨迹平滑的MATLAB实现

简介:本资源是一套面向高校计算机、电子信息工程及数学等专业本科生的3D路径规划实践方案,聚焦机器人/无人机在复杂三维环境中的自主导航问题,完整实现RRT(快速扩展随机树)算法及其改进版本的路径搜索,并集…

2026/9/3 5:04:55
相干光通信仿真:从调制格式建模到Matlab工程实现

相干光通信仿真:从调制格式建模到Matlab工程实现

简介:本资源是一套面向通信工程专业本科生、研究生及光通信初学者的MATLAB仿真实践材料,聚焦相干光通信系统中QPSK与多阶QAM调制格式的核心原理与性能评估。通过三份精简高效的.m脚本文件(共3个MATLAB源码,总大小仅2KB&#xff09…

2026/9/3 5:04:55
Linux下2.5G网卡驱动适配全指南:芯片识别、固件加载与性能调优

Linux下2.5G网卡驱动适配全指南:芯片识别、固件加载与性能调优

简介:本资源是面向嵌入式Linux路由器二次开发工程师及内核驱动适配人员的2.5G网卡全型号驱动整合包,专为解决新硬件在低版本Linux内核中驱动缺失、社区支持滞后等痛点而设计。当前主流商用路由器大量采用Intel、MediaTek等厂商的2.5G有线/无线网卡&#…

2026/9/3 5:04:55
Python股票系统源码解析:从数据获取到策略回测的完整实践指南

Python股票系统源码解析:从数据获取到策略回测的完整实践指南

简介:这是一套面向本科毕业设计的Python股票交易系统完整源码,基于Django Web框架开发,适用于金融信息系统课程设计、软件工程实践及Web全栈能力训练场景。系统涵盖用户管理、股票行情展示、模拟交易、持仓分析与数据可视化等核心模块&#x…

2026/9/3 4:59:54