# mystarter **Repository Path**: chenpingonline/mystarter ## Basic Information - **Project Name**: mystarter - **Description**: 自定义starter - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-25 - **Last Updated**: 2024-07-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README springboot启动时只会扫描启动类的包下面的包注入到ioc容器中,若要想实现其他包路径下的类自动注入有3种方式 项目中有2个模块:MyStarter和TestStarter MyStarter: 自定义的starter模块 包名: cp.mystarter TestStarter: 需要集成自定义starter的模块 包名: cp.test 有3种方式可以实现 1. 使用 @Import(GetUserConfiguration.class) 注解 这种方式的缺点显而易见,我们必须要知道配置类是哪个,并且需要手动一个一个导入,对于开发者来说很不友好,耦合性很强,因为一旦starter包中类名做了修改,对应代码也需要修改 2. 在starter模块中自定义一个注解,测试模块中使用该注解导入需要自动配置的类 @EnableUser 这种缺点也很明显,不同的starter会提供不同的注解,仍然需要开发者去手动一个一个导入,显然耦合性还是比较强,所以有没有什么方式不需要开发者再手动配置呢? 3. 在starter开发时按照springboot的规定,将配置的类全路径名全部配置在 META-INF/spring.factories 文件中 这种会在springboot启动时被 @EnableAutoConfiguration 扫描到,即实现了自动的注入,无需开发者额外配置,全部配置有starter提供者完成,实现了解耦