SpringBoot全注解开发指南

一、Spring 纯注解配置(全注解开发)

告别 XML 文件,使用注解完成 Spring 容器配置,是 SpringBoot 的基础!

1. 核心注解详解

表格

注解 作用 等价 XML 配置
@Bean 将方法返回的对象注入 Spring IOC 容器 <bean id="" class=""/>
@PropertySource 加载外部 properties 配置文件 <context:property-placeholder>
@ComponentScan 开启 Spring 组件扫描,注册 Bean <context:component-scan>
@Import 导入其他配置类,实现配置拆分 <import resource=""/>
@Configuration 标记当前类为 Spring 配置类,替代 xml applicationContext.xml

2. 注解补充说明

  • @Bean :value 属性用于指定 Bean 的名称(IOC 容器的 key)
  • @PropertySource :value 指定配置文件路径,支持classpath:前缀
  • @ComponentScan :自动扫描@Controller/@Service/@Component等注解
  • @Configuration:标注的类会被 Spring 识别为配置入口

二、Spring Boot 入门核心知识【重点】

1. Spring Boot 介绍

SpringBoot = Spring + SpringMVC它不是新框架,不增强 Spring 功能,只是快速开发 Spring 应用的工具!

核心特点

✅ 完全摒弃 XML 配置文件

✅ 自动封装 Maven 依赖,简化配置

✅ 内置 Tomcat/Jetty 服务器,直接运行

✅ 自动配置,开箱即用


2. Spring Boot 入门案例(手把手)

① 父工程依赖(pom.xml)

所有 SpringBoot 项目必须继承父工程,统一管理版本

xml

复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.2.RELEASE</version>
    <relativePath/>
</parent>
② Web 启动器依赖

xml

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
③ 启动类(核心!)

包路径要求 :必须是 Controller/Service/Mapper 的上级包

java

运行

复制代码
package com.hg;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * SpringBoot启动类
 */
@SpringBootApplication
public class SpringbootHelloworldApp {
    public static void main(String[] args) {
        // 启动SpringBoot应用
        SpringApplication.run(SpringbootHelloworldApp.class);
    }
}
④ 编写 Controller

java

运行

复制代码
package com.hg.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "Hello SpringBoot!";
    }
}

3. SpringBoot 启动器 Starter

① 什么是 Starter?

启动器 = 依赖集合 + 自动配置类SpringBoot 封装好的 "一站式依赖包",引入后自动配置环境。

② Starter 命名规范
  • 官方启动器 :spring-boot-starter-模块名称示例:spring-boot-starter-web、spring-boot-starter-test
  • 第三方启动器 :模块名称-spring-boot-starter示例:mybatis-spring-boot-starter、druid-spring-boot-starter

启动类

java

运行

复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication// SpringBoot的主类
public class SpringHalleWorldApp {
    public static void main(String[] args) {
        SpringApplication.run(SpringHalleWorldApp.class, args);
    }
}

访问方式

启动项目后,浏览器访问:

plaintext

复制代码
http://localhost:8080/text

返回结果

json

复制代码
{"name":"yunkukukuku","age":18}

3. SpringBoot 启动器 Starter【重点】

① 什么是 Starter?

启动器 = 依赖集合 + 自动配置类SpringBoot 封装好的 "一站式依赖包",引入后自动配置环境。

② Starter 命名规范
  • 官方启动器 :spring-boot-starter-模块名称示例:spring-boot-starter-web、spring-boot-starter-test
  • 第三方启动器 :模块名称-spring-boot-starter示例:mybatis-spring-boot-starter、druid-spring-boot-starter

三、总结

  1. Spring 纯注解开发靠@Configuration+@Bean等注解替代 XML
  2. SpringBoot 简化开发,核心是自动配置 + 内置容器 + 启动器
  3. 启动类@SpringBootApplication是入口,包路径必须规范
  4. Starter 是 SpringBoot 的灵魂,大大简化 Maven 依赖管理
  5. @Controller + @ResponseBody可以直接返回 JSON 数据
相关推荐
liangshanbo12152 分钟前
主系统登录后,子系统怎么实现自动登录?
java·网络·数据库
ShineWinsu21 分钟前
对于Redis:缓存的解析
java·redis·缓存·缓存穿透·缓存击穿·缓存雪崩·缓存预热
rannn_11129 分钟前
【Java面试题】高频面试题1|Java 后端、MySQL、Redis 与 RAG 面试整理
java·jvm·数据库·后端·面试
写后端的胖头鱼32 分钟前
一文详解Spring 事务失效场景
java·spring·事务·transactional·事务传播机制
Q264336502337 分钟前
【有源码】基于Spring Boot和Vue的在线考试与交流系统-教育信息化背景下在线考试与交流一体化平台
java·vue.js·spring boot·mysql·spring·毕业设计·课程设计
Mikko71 小时前
JVM 线上排查实战(七):jps 看不到进程、jstack 报不允许的操作怎么办?attach 失败的六种情况实测
java·运维·jvm·后端
jianjinwssy1 小时前
MyBatis-Plus 从入门到实战:常用功能与核心原理
java·mybatis
会编程的吕洞宾1 小时前
Spring AI 2.0 会话记忆实战,让 AI 助手记住每一次对话
java·人工智能·spring
小宋10211 小时前
Agent 工具升级如何不破坏线上:Tool Schema 版本兼容与契约测试
java·人工智能·后端·spring
ss2731 小时前
AI全栈实战 | 3.6-01 数据库与 ORM:学过 MyBatis 再看 SQLAlchemy,才知道“半自动“和“全自动“差在哪
数据库·mybatis