Springboot扫描包遇到的坑

1.@SpringBootApplication(scanBasePackages={"com.cc","com.kk"})

默认如果不指定scanBasePackages,默认会扫描当前启动类所在的包路径以及子包的路径,这里需要注意的是,如果是多个项目聚合的情况,比如Service 和启动类不再一个项目中,包名也不一致的时候 ,要scanBasePackages中指定扫描包路径,不要少扫,否则会有找不到对应service的情况,

 2,MapperScan("com.cc.mapper") 用来指定扫描的mapper包,这里也要注意一定别指定的范围太大(别多扫),否则容易吧 service 也扫上,这样会把第一个指定扫描的service 覆盖当作mapper,也会导致上面的问题

3.如果访问对应的controller 接口报404时也需要考虑的一下

  @SpringBootApplication(scanBasePackages={"com.cc","com.kk"}) 是否扫描到了对应的Controller类,因为默认如果不指定scanBasePackages,默认会扫描当前启动类所在的包路径以及子包的路径,如果指定后默认这个将不会再起作用,所以指定时,要考虑扫描的所有的需要spring管理的类

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: scanBasePackages的作用是扫描指定的及其子中的类,以便在Spring应用程序中自动注册bean。这个功能通常用于自动扫描和注册Spring组件,例如控制器、服务、存储库等。通过指定要扫描的基本Spring可以自动发现和注册这些组件,从而简化了应用程序的配置和管理。 ### 回答2: scanBasePackages 这个属性是在 Spring 框架中常用的配置项,其作用是用于指定基础。 在 Spring 框架中,我们常常需要扫描来寻找被注解标记的组件(如@Service、@Repository、@Controller等),然后将这些组件注册为 Bean 供程序使用。通过使用 scanBasePackages 属性,我们可以指定框架扫描的起始路径,以便能够找到相关的组件。 举个例子,假设我们有一个 Spring Boot 程序,其主入口类是 com.example.Application,我们在这个类上添加了@SpringBootApplication 注解。程序中还有其他一些被 @Service、@Repository 等注解标记的类。如果我们希望 Spring 在启动时能够自动扫描这些类,并将其注册为 Bean,就可以使用 scanBasePackages 属性来指定基础,如下所示: @SpringBootApplication(scanBasePackages = "com.example") public class Application { // 程序的入口方法等 } 上面的例子中,通过 scanBasePackages = "com.example",我们告诉 Spring 框架在启动时应该扫描 com.example 及其子下的所有类,以寻找被注解标记的组件。这样一来,所有被 @Service、@Repository 等注解标记的类都会被自动注册为 Bean,可以在程序中使用。 由此可见,scanBasePackages 属性的作用就是帮助我们在 Spring 框架中指定起始路径,以便能够自动扫描并注册相关的组件。 ### 回答3: scanBasePackagesSpring框架中的一个注解,用于指定需要扫描的基础路径。在Spring容器启动时,会自动扫描指定路径下的所有类,将其注入到容器中,使得这些类可以被Spring框架管理和使用。 scanBasePackages的作用有以下几个方面: 1. 自动装配:通过指定要扫描的基础路径,Spring框架可以自动识别并加载这些路径下的Bean对象。当我们在需要使用某些类的时候,无需手动配置bean,只需要使用自动装配注解(如@Autowired)即可自动注入相应的Bean对象。 2. 组件扫描:在指定的基础路径下,Spring框架可以自动扫描并识别标有注解(如@Component、@Service、@Controller等)的类,并将其实例化为Bean对象。这样,我们可以在这些类中使用相应的注解来起到相应的作用,比如使用@Component注解定义一个组件类,使其成为可被Spring管理的组件。 3. AOP切面:在基础路径下,Spring框架可以扫描并识别标有AOP相关注解的类,如@Aspect,@Around,@Before等。这样,我们可以通过在这些类上定义相应的注解和方法,实现面向切面编程(AOP)的功能,对指定的方法进行增强或拦截。 总之,scanBasePackagesSpring框架中用于指定需要扫描的基础路径的注解。通过使用这个注解,Spring框架可以自动识别并加载指定路径下的类,使其成为Spring容器中的Bean对象,实现自动装配、组件扫描和AOP等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值