zoukankan      html  css  js  c++  java
  • 关于spring-boot中的@SpringBootApplication中的@ComponentScan的basePackages的路劲的设置。

    最近在看spring-boot的东西,然后搭建了spring-boot的简单项目。但是在spring的入口处加载的时候一直加载不到。最后看了@SpringBootApplication的源码才知道

    @ComponentScan 如果不设置basePackage的话 默认会扫描包的所有类,所以最好还是写上basePackage ,减少加载时间。默认扫描**/*.class路径 比如这个注解在com.first.springbootproject.springboot 下面 ,那么会扫描这个包下的所有类还有子包的所有类,比如包com.first.springbootproject.springboot.helloworld的应用。

    综上所述我们可以知道:

    SpringBootApplication启动时会默认扫描主类当前包及子包,如果需要扫描主类当前包外的其他包或不扫描当前包下的特定包或类,可通过下列属性实现:

    @ComponentScan(basePackages={"com.first.springbootproject.springboot.helloworld"})

    通过上面的注释spring在启动的时候会按照相关的路径进行对@Component元素的加载。不会在进行全部的扫描进行加载。占用资源的情况。

    除了上面的这种改变路劲的方式之外,我们还可以通过配置xml文件,对basePackages的路劲进行设置。

    1.通配符形式
    <context:component-scan base-package="com.*" />
    2.全路径
    <context:component-scan base-package="com.test" />

    至此我们的spring-boot项目的类加载路劲的指定设置完毕。如果想要加载多个路劲可以使用逗号分隔的形式,对类进行加载。如下这种方式:

  • 相关阅读:
    Java导出数据生成Excel表格
    JFinal极速开发框架使用笔记
    短信接口发送验证码倒计时以及提交验证
    quartz定时任务,已过期的内容自动下线
    cors解决Web跨域访问问题
    python之django直接执行sql语句
    Django中字典在html中的遍历
    Django 中的自定义分页标签
    myslq中插入时间当前时间
    mysql中排序
  • 原文地址:https://www.cnblogs.com/gxgd/p/9279447.html
Copyright © 2011-2022 走看看