Spring Boot学习笔记
本文最后更新于80 天前,其中的信息可能已经过时,如有错误请发送邮件到3082654005@qq.com

@ComponentScan(basePackages=”包路径”)


是 Spring 框架的核心注解之一,它的主要作用是指示 Spring 容器(ApplicationContext)去哪些包路径下扫描带有特定注解的类,并将其自动注册为 Bean 定义,最终实例化为 Spring 容器管理的 Bean

当你想让 Spring 容器管理并创建其他包中的类实例(Bean)时,可以在你的主配置类上使用 @ComponentScan(basePackages="其他包路径") 来声明需要扫描的包。之后,你就可以在你的主包(或任何被 Spring 管理的组件中)通过 @Autowired 依赖注入的方式,获取到其他包中的 Bean 实例,进而调用其方法。


默认扫描行为

例如,如果你的配置类 AppConfig 在 com.example.app 包中,那么 Spring 会自动扫描 com.example.app 以及 com.example.app.servicecom.example.app.controller 等所有子包。

当你在一个配置类(即带有 @Configuration 注解的类)上使用 @ComponentScan 而不指定任何参数时,它会默认扫描这个配置类所在的包及其所有子包

@CrossOrigin

@CrossOrigin 是一个 Spring Framework 提供的注解,用于在 Spring MVC 或 Spring WebFlux 应用中启用和配置跨源资源共享(CORS)

它的核心目的是解决浏览器同源策略的限制,允许运行在不同源(域名、协议、端口)上的Web应用程序访问你的后端API。


为什么需要它?

想象一个常见的前后端分离场景:

  • 前端应用:运行在 http://localhost:3000 (React/Vue开发服务器)
  • 后端API:运行在 http://localhost:8080

即使它们在同一台机器上,端口不同也被浏览器视为不同的“源”。默认情况下,浏览器会阻止前端页面向后端API发起的 Ajax 请求(如 fetch 或 axios),并报出一个经典的 CORS 错误。

@CrossOrigin 注解的作用就是告诉浏览器:“这个后端接口允许来自某个源的前端页面进行访问”。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇