SpringBoot学习(上) , SpringBoot项目的创建(IDEA2024版本)

目录

[1. SpringBoot介绍](#1. SpringBoot介绍)

SpringBoot特点

[2. SpringBoot入门](#2. SpringBoot入门)

[2.1 创建SpringBoot项目](#2.1 创建SpringBoot项目)

[Spring Initialize](#Spring Initialize)

[第一步: 选择创建项目](#第一步: 选择创建项目)

[第二步: 选择起步依赖](#第二步: 选择起步依赖)

[第三步: 查看启动类](#第三步: 查看启动类)

[2.2 springboot父项目](#2.2 springboot父项目)

[2.3 测试案例](#2.3 测试案例)

[2.3.1 数据库](#2.3.1 数据库)

[2.3.2 生成代码](#2.3.2 生成代码)


1. SpringBoot介绍

Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。

spring boot 致力于简洁,让开发者写更少的配置,程序能够更快的运行和启动。它是下一代javaweb框架,并且它是spring cloud(微服务)的基础。

SpringBoot特点

  1. 在spring的开发中更快入门
  2. 无需配置xml配置, 也可以根据需求自行配置
  3. 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等
  4. SpringBoot比spring更加方便
  5. 内置了三种服务器, 默认的服务器是Tomcat

2. SpringBoot入门

2.1 创建SpringBoot项目

Spring Initialize

这是通过IDEA里的Spring Initialize进行创建SpringBoot项目

第一步: 选择创建项目
第二步: 选择起步依赖

Spring Web

选择自己的数据库依赖, 然后创建

第三步: 查看启动类

这样就创建好一个springboot项目了.

2.2 springboot父项目

我们在创建工程的时候发现, 不需要我们自己手动导入依赖了, 只需要勾选依赖即可, 这是因为springboot对相关依赖进行了版本管理, 通过**parent来管理依赖,**全称是:

我的springboot是3.x.x版本, 适用于jdk17-21 如果使用jdk1.8的 springboot版本是2.x.x

start启动项可以帮助我们自动配置, 使得我们可以直接在main方法里运行, 不需要配置Tomcat

除了不需要配置Mybatis和Spring, 其他的和Spring与Mybatis整合没什么区别

然后我们可以进行一个小小的案例.

2.3 测试案例

2.3.1 数据库

sql 复制代码
DROP TABLE IF EXISTS `tb_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tb_user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户编号',
  `name` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '用户名称',
  `gender` char(2) COLLATE utf8mb4_bin NOT NULL DEFAULT '男' COMMENT '用户性别',
  `age` int(10) unsigned DEFAULT NULL COMMENT '用户年龄',
  `address` varchar(20) COLLATE utf8mb4_bin NOT NULL COMMENT '用户籍贯',
  `email` varchar(50) COLLATE utf8mb4_bin NOT NULL COMMENT '用户邮箱',
  `qq` varchar(20) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户QQ',
  `photo` varchar(200) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户头像',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tb_user`
--

LOCK TABLES `tb_user` WRITE;
/*!40000 ALTER TABLE `tb_user` DISABLE KEYS */;
INSERT INTO `tb_user` VALUES (14,'dasdas','男',21,'陕西','lisi@qq.com','123131231','1662031776166EBE0C14F25AA4BC18F4072D949018D98.png'),(15,'一个人挺好','男',21,'陕西','270599153@qq.com','21312312',NULL),(18,'123','1',12,'123123123','213123213','123123',NULL);
/*!40000 ALTER TABLE `tb_user` ENABLE KEYS */;
UNLOCK TABLES;

2.3.2 生成代码

不知道怎么生成代码的小伙伴可以看这个:

MybatisPlus插件,代码自动生成, IDEA2024版本_idea如何导入mybatis-plus依赖-CSDN博客

切记!!!! ,main方法, 也就是我的Demo2Application类与其他的包是同级的

因为项目启动后, 程序第一时间先查找**@SpringBootApplication**注解, 然后从这个类的同级往下进行注解扫描

这就已经是项目的雏形了, mapper包是Dao层, 先到这里

相关推荐
橙序员小站4 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
怒放吧德德4 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆6 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
开心就好20257 小时前
UniApp开发应用多平台上架全流程:H5小程序iOS和Android
后端·ios
悟空码字7 小时前
告别“屎山代码”:AI 代码整洁器让老项目重获新生
后端·aigc·ai编程
小码哥_常7 小时前
大厂不宠@Transactional,背后藏着啥秘密?
后端
奋斗小强7 小时前
内存危机突围战:从原理辨析到线上实战,彻底搞懂 OOM 与内存泄漏
后端
小码哥_常8 小时前
Spring Boot接口防抖秘籍:告别“手抖”,守护数据一致性
后端
心之语歌8 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
None3218 小时前
【NestJs】基于Redlock装饰器分布式锁设计与实现
后端·node.js