Spring 纯注解配置 + Spring Boot 入门核心笔记

一、Spring 的纯注解配置(告别 XML)

核心思想 :用注解代替 applicationContext.xml


1️⃣ @Bean------ 注册对象到 IOC 容器

作用

将一个对象放入 Spring 的 IOC 容器(等价于 <bean/>

复制代码
@Bean
public DataSource dataSource() {
    return new DruidDataSource();
}

属性说明

属性 作用
value 指定 Bean 在 IOC 容器中的 id

✅ 默认方法名 = Bean 的 id


2️⃣ @PropertySource------ 加载 properties 文件

作用

加载外部配置文件(等价于 <context:property-placeholder/>

复制代码
@PropertySource("classpath:db.properties")

属性说明

属性 作用
value properties 文件路径

3️⃣ @ComponentScan------ 包扫描

作用

指定 Spring 扫描哪些包(等价于 <context:component-scan/>

复制代码
@ComponentScan("com.hg")

✅ 常用包:

  • controller

  • service

  • mapper


4️⃣ @Import------ 导入其他配置类

作用

引入其他 Java 配置类(等价于 <import/>

复制代码
@Import({MyBatisConfig.class, DataSourceConfig.class})

✅ 避免循环导入(⚠️ 易踩坑)


5️⃣ @Configuration------ 标识配置类

作用

告诉 Spring:这是一个配置类 (等价于 applicationContext.xml

复制代码
@Configuration
public class SpringConfig {
}

✅ 必须配合 @ComponentScan/ @Bean使用


二、Spring Boot 入门(重点)


一、Spring Boot 是什么?

Spring + Spring MVC 的"快速开发脚手架"

✅ 核心特点

特性 说明
无 XML 几乎零配置
起步依赖 starter 一键集成
内嵌容器 内置 Tomcat
自动装配 约定优于配置

⚠️ 不是对 Spring 的增强,而是"更快的使用方式"


二、Spring Boot 入门案例(标准写法)


1️⃣ pom.xml配置

✅ ① 继承 Spring Boot 父工程
复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.2.RELEASE</version>
    <relativePath/>
</parent>

✅ ② 添加 Web 启动器
复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2️⃣ Controller 示例

复制代码
@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping
    public String hello() {
        return "Hello Spring Boot!";
    }
}

3️⃣ 启动类(⚠️ 极其重要)

复制代码
package com.hg;

@SpringBootApplication
public class SpringbootHelloworldApp {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootHelloworldApp.class, args);
    }
}

启动类必须放在 controller / service / mapper 的上级包


三、Spring Boot Starter(重点)


1️⃣ 什么是 Starter?

Starter = 依赖 + 自动配置 + 默认配置

类型 说明
官方 starter spring-boot-starter-xxx
第三方 starter xxx-spring-boot-starter

2️⃣ 命名规范(面试常问)

✅ 官方 Starter
复制代码
spring-boot-starter-web
spring-boot-starter-data-jpa
✅ 第三方 Starter
复制代码
mybatis-spring-boot-starter
druid-spring-boot-starter

3️⃣ 常用 Starter 速查表

功能 Starter
Web 开发 spring-boot-starter-web
MyBatis mybatis-spring-boot-starter
测试 spring-boot-starter-test
JDBC spring-boot-starter-jdbc

四、常见坑点总结(⚠️ 必看)

❌ 启动类位置错误

复制代码
controller
service
mapper
↑
启动类必须在这里

❌ 忘记加 @SpringBootApplication

复制代码
@SpringBootApplication // 缺一不可

❌ Starter 版本不匹配

✅ 建议统一使用父工程管理版本


五、总结(一句话记忆)

Spring 纯注解 = Java 配置 + 注解

Spring Boot = Starter + 自动装配 + 内嵌容器


📌 适合发布 CSDN 的理由

✅ 结构清晰

✅ 实战导向

✅ 适合新手

✅ 可直接复制运行

✅ 覆盖面试高频点


如果你愿意,我可以帮你:

  • ✅ 改成 "保姆级图文教程"

  • ✅ 加 运行截图

  • ✅ 改成 面试问答版

  • ✅ 或帮你写一篇 《SSM 转 Spring Boot 避坑指南》

直接告诉我你要哪种风格 👍

相关推荐
破碎的南瓜7 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql
你想知道什么?7 小时前
线性回归-学习笔记
笔记·学习·线性回归
谙弆悕博士7 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
Java内核笔记9 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
谙弆悕博士9 小时前
系统集成项目管理工程师教程(第3版)笔记——第4章:信息系统架构
笔记·系统架构·项目管理·创业创新·学习方法·业界资讯·物理
我是唐青枫10 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
茯苓gao10 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
海棠Flower未眠11 小时前
SpringBoot 消息死信队列(荣耀典藏版)
java·数据库·spring boot
腾渊信息科技公司11 小时前
Spring Boot + TDengine:工业视觉检测数据实时同步方案实战
spring boot·后端·tdengine
空中湖11 小时前
Spring AI 多模态实战:让 AI 看图、听声音、生成图片
人工智能·spring·语音识别