首页 > 其他分享 >springboot自定义starter集成controller、Dao

springboot自定义starter集成controller、Dao

时间:2022-11-05 23:02:44浏览次数:52  
标签:springboot 自定义 spring cdn Dao org import factories starter


springboot自定义starter集成controller、Dao

编写starer,其他服务直接引入既可以,通常步骤为:

  1. pom中引入需要的依赖
  2. 删除spring-boot-maven-plugin插件
  3. resources下新建spring.factories,并指定自动配置类
  4. 项目中引入

本次则是在starter中封装好一些每个项目都会用到的公共接口,这样可以避免重复编写,减少不必要工作量

starter 中集成了

  1. controller
  2. service
  3. dao
  4. mapper

关键点: controller和serviceImpl可以直接把每个都配置到spring.factories中,实现自动配置,​​但是dao无法直接配置,因为dao是一个接口,spring.factories 会自动创建bean,但是到是接口,无法创建bean,所以直接吧dao配置到spring.factories不可行,​​需要借助一个配置类来实现dao的扫描

package cdn.demo.starter.config;

import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;

/**
* 包扫描配置类
* 因为是starter,所以使用spring.factories 自动配置
*/
@Slf4j
@MapperScan("cdn.demo.starter.mapper")
@ComponentScan(value = {"cdn.demo.starter"})
public class BeanConfigScanConfig implements EnvironmentAware {

@Override
public void setEnvironment(@NotNull Environment environment) {
log.info("################################## starter包扫描结束 ################################################");
}
}

备注: 此处把service和controller、dao都配置在该类来扫描,所以spring.factories中只需要配置BeanConfigScanConfig即可

spring.factories:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cdn.demo.starter.config.BeanConfigScanConfig,\
cdn.demo.starter.config.CdnProperties


标签:springboot,自定义,spring,cdn,Dao,org,import,factories,starter
From: https://blog.51cto.com/caidingnu/5826351

相关文章

  • Android 自定义TextView实现文字和图片居中显示
    默认情况下,如果TextView的宽度超过文字的宽度,文字居中显示时,想要在文字的左边或者右边添加一个图片时,左边或者右边的文字就会默认以左边和右边开始排列,效果如下。如果想要......
  • PX01如何实现自定义循环老化画面、开关机冲击及自动关机
    屏在做实验室老化的时候,可能会需要对屏进行多种画面循环老化测试一定时间,完毕后自动关机下电;而循环画面要求也相对复杂,可能会有多种循环画面测试,而且每种循环次数不同,画面......
  • SpringBoot实战笔记:02_使用注解与Java配置的Aop示例
    转载:https://blog.csdn.net/android_zyf/article/details/79579875<!--02_新的依赖--><!--导入spring的aop支持--><dependency><groupId>${spring-groupId}</groupId>......
  • SpringBoot实战笔记:01_Spring中的Java配置
    转载:https://blog.csdn.net/android_zyf/article/details/79579862Spring4.x与SpringBoot都推荐使用Java配置xml配置:将bean的信息配置在xml配置文件中注解配置:在对应的bea......
  • 自定义异常类
    1.继承现有异常结构,RuntimeException或者Exception2.提供全局常量:erialVersionUID 3.提供重载构造器4.在项目中即可调用throw MyException("不能。。。");publi......
  • ZYNQ & AXI总线 & PS与PL内部通信(用户自定义IP)
      ZYNQ、AXI协议、PS与PL内部通信 三种AXI总线分别为:AXI4:(Forhigh-performancememory-mappedrequirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接......
  • React使用Antd自定义主题报错
    安装包"customize-cra":"^1.0.0","customize-cra-less-loader":"^2.0.0","less":"^4.1.3","less-loader":"^11.1.0",修改config-overrides.jsconst{override......
  • 006.完成service和dao的编写
    1.引入依赖<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId>......
  • Thinkphp6笔记十九:加载自定义配置
    适用场景:加载自己的某些配置1.创建配置文件app/config/test.php或者app/admin/test.php<?phpreturn['rule'=>['alibaba'=>[],'ebay'=>[],......
  • SpringBoot报错解决
    1-问题:2022-11-0516:25:09.334ERROR18989---[main]o.s.b.d.LoggingFailureAnalys解决:在java的入口把@SpringBootApplication改成@SpringBootApplication(exclude={......