当前位置: 首页 > news >正文

Spring常用注解和组件

引言

了解Spring常用注解的使用方式可以帮助我们更快速理解这个框架和其中的深度

注解

@Configuration:表示该类是一个配置类,用于定义 Spring Bean。

@EnableAutoConfiguration:启用 Spring Boot 的自动配置功能,让 Spring Boot 根据类路径中的依赖自动配置应用。

@ComponentScan:启用组件扫描,Spring Boot 会扫描该类所在包及其子包下的组件,并将它们注册为 Spring Bean。

@SpringBootApplication :这个注解包含上面三个注解

@ImportResource:从一个基于 XML 配置的旧 Spring 项目迁移到基于 Java 注解的配置时,可能不想一下子把所有的 XML 配置都转换为 Java 注解配置,这时就可以使用 @ImportResource 逐步引入现有的 XML 配置文件。

组件

创建一个 SpringApplication 实例,然后调用 run 方法启动应用。run 方法接受一个 String[] 类型的参数,通常是 main 方法的 args 参数,用于传递命令行参数。   

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {// 创建 SpringApplication 实例SpringApplication app = new SpringApplication(Application.class);// 启动应用app.run(args);}
}

以上文Spring启动类我们来分析一下Spring的组件

1. SpringApplication 类

SpringApplication 类是 Spring Boot 框架的核心启动类,它封装了启动 Spring 应用所需的一系列操作

  • 自动配置:根据类路径中的依赖和应用的配置,自动配置 Spring 应用的各种组件,如数据源、消息队列等。
  • 组件扫描:扫描指定包及其子包下带有特定注解(如 @Component、@Service、@Repository 等)的类,并将它们注册为 Spring Bean。
  • 启动嵌入式服务器:如果应用是一个 Web 应用,SpringApplication 会自动启动嵌入式服务器(如 Tomcat、Jetty 等)。

2. Application.class 参数

Application.class 通常是 Spring Boot 应用的主类,这个类一般带有 @SpringBootApplication 注解,该注解是一个组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 注解

     


http://www.mrgr.cn/news/90322.html

相关文章:

  • win11 python opencv作图像匹配小结
  • VMware 虚拟机 ubuntu 20.04 扩容工作硬盘
  • PHP盲盒商城系统源码 晒图+免签+短信验证+在线回收 thinkphp框架
  • RbFT:针对RAG中检索缺陷的鲁棒性微调
  • Maven入门核心知识点总结
  • 【力扣题解】63. 不同路径 II
  • 深度学习每周学习总结R6(RNN实现阿尔茨海默病诊断)
  • 数据结构与算法-动态规划-状态压缩(蒙德里安的梦想,Hamilton路径,愤怒的小鸟,骑士,玉米田,炮兵阵地)
  • Spring pot
  • deepseek本地部署小白教程
  • 【Python】集合
  • 生信云服务器:让生物信息学分析更高效、更简单【附带西柚云优惠码】
  • Linux(Ubuntu)安装pyenv和pyenv-virtualenv
  • 做一个通用的数据集模型训练分析平台
  • 易语言Easy Programming Language
  • 【南方Cass】快捷键0001:切换点样式
  • 绩效归因概述
  • Docker 部署 MySQL-5.7 单机版
  • 0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
  • YouBIP 项目
  • 深度整理总结MySQL——MySQL加锁工作原理
  • Web前端开发--HTML
  • 系统URL整合系列视频四(需求介绍补充)
  • 牛客周赛Round 80 —— 举手赢棋 python 补题 + 题解
  • JAVA面向对象2(三大特征)
  • UE5--浅析委托原理(Delegate)