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 避坑指南》

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

相关推荐
John.Lewis18 分钟前
C++进阶(12)附加学习:STL之空间配置器(了解)
开发语言·c++·笔记
独小乐20 分钟前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
xuanwenchao20 分钟前
ROS2学习笔记 - 2、类的继承及使用
服务器·笔记·学习
IGAn CTOU36 分钟前
王炸级更新!Spring Boot 3.4 正式发布,新特性真香!
java·spring boot·后端
tycooncool1 小时前
Spring中的IOC详解
java·后端·spring
indexsunny2 小时前
互联网大厂Java面试实战:核心技术与微服务架构在电商场景中的应用
java·spring boot·redis·kafka·maven·spring security·microservices
海兰3 小时前
【第3篇-续】多模型多模态项目实现示例(增加OpenAI通用适配)附源代码
java·人工智能·spring boot·alibaba·spring ai
сокол3 小时前
【网安-等保评测-基础记录】网络安全等级保护2.0 详解(定级、备案、测评、整改一站式指南)
网络·笔记·网络安全·云计算
SarL EMEN4 小时前
海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
java·前端·spring boot
ccice014 小时前
全面掌握Spring Boot + MyBatis + Maven + MySQL:从开发到部署的后端技术详解
spring boot·maven·mybatis