Spring boot basePackages 通配符* 找不到Bean

Spring boot basePackages 通配符* 找不到Bean

今天遇到了一个关于spring boot 组件@ComponentScan 中basePackages 使用通配符* 找不到Bean的问题
在这里插入图片描述
目录结构中BussinessPerson与Dog类中都有标注有@Component注解,结果扫描不到。
然后删除通配符,结果运行成功。
之后修改成了**通配符,结果也运行成功了。
之后打了个断点,查看了这三种情况时,classPath的路径。结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果分析:
basePackages.*:这种情况路径后缀会变成*/**/*.class,组件只会扫描路径包中的子包里面的类,而当前包中的Bean不会被扫描到。
basePackages.**: 这种情况路径后缀会变成**/**/*.class,组件会扫描当前包以及子包中的Bean.
basePackages:这种情况路径后缀会变成/**/*.class,组件会扫描当前包以及子包中的Bean.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot中实现局域网跨域请求可以通过配置CORS(跨源资源共享)来完成。CORS是一种机制,允许服务器在响应中添加一些特殊的HTTP头,从而允许在不同域之间进行跨域通信。 要在Spring Boot中实现局域网跨域请求,可以按照以下步骤进行操作: 1. 添加CORS依赖:在项目的pom.xml文件中添加以下依赖: ```xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 2. 配置CORS:在Spring Boot的配置类中添加以下代码: ```java@Configurationpublic class CorsConfig { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("*") .allowedHeaders("*"); } }; } } ``` 上述代码中的`allowedOrigins`表示允许的源,这里使用通配符`*`表示允许所有源;`allowedMethods`表示允许的HTTP方法,这里也使用通配符`*`表示允许所有方法;`allowedHeaders`表示允许的HTTP头,这里同样使用通配符`*`表示允许所有头。 3. 启动应用程序:启动Spring Boot应用程序后,你的应用程序将支持局域网跨域请求。 请注意,由于CORS机制的安全性限制,浏览器可能会发送预检请求(OPTIONS请求)来检查服务器是否允许跨域请求。在服务器端,你可以通过处理这些预检请求返回相应的HTTP头来进行支持。 这样,你就可以在Spring Boot中实现局域网跨域请求了。希望对你有所帮助!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值