Springboot之把外部依赖包纳入Spring容器管理的两种方式
在 Spring Boot 项目中,使用 @Component、@Controller、@Service、@Configuration 和 @Bean 等注解标记的类会在容器启动时自动创建并纳入 Spring 容器管理。这可以通过 @ComponentScan 注解实现,它默认扫描启动类所在包及其子包。
问题:管理外部组件
如果需要将公共业务组件也放到 Spring 容器中,以便在业务代码中注入使用,该如何操作?
解决方法
方法 1:Spring.factories
Spring.factories 配置文件指定了 Spring 中预留的扩展点配置接口和具体配置类的对应关系。在 resources 目录下创建 /META-INF/spring.factories 文件,实现 Spring 的扩展点配置接口,在使用时引入到项目中,Spring 容器启动时会读取该文件并纳入相关配置类。
方法 2:org.springframework.boot.autoconfigure.AutoConfiguration.imports
此方法在 Spring Boot 2.7 及更高版本中可用,其作用与 Spring.factories 类似。在 /META-INF/spring/ 目录下创建 org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件,其中包含要导入 Spring 环境的配置类。
方法比较
方法 | 创建文件位置 | 格式 |
---|---|---|
Spring.factories | /META-INF/spring.factories | Key-Value 对 |
org.springframework.boot.autoconfigure.AutoConfiguration.imports | /META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 要导入的配置类列表 |
SpringBoot 和 MyBatis 的集成
SpringBoot 和 MyBatis 的集成主要利用了 Spring Boot 的自动配置特性和 MyBatis 的映射特性。通过开启自动配置,系统会在 ConfigurationClassPostProcessor 这个 BeanFactory 的后置处理器中处理 @Configuration 注解的类,并自动根据这些类创建 bean。
总结
通过 Spring.factories 或 org.springframework.boot.autoconfigure.AutoConfiguration.imports,可以灵活地将外部组件纳入 Spring Boot 项目中。这对于整合公共业务组件或其他第三方库非常有用。
maven中如何配置springboot的相关依赖和热启动
maven中配置springboot的相关依赖和热启动的方法如下:1、在maven中配置springboot的相关依赖及热启动,需要在文件中添加springboot的相关依赖。 2、在maven插件中添加spring-boot-maven-plugin插件,用于启动springboot应用。 3、在maven插件中添加spring-boot-devtools插件,用于实现热启动。
运行spring boot有哪几种方式
运行Spring Boot应用的方式主要有三种,分别是通过Spring Boot Maven插件、通过Java命令行运行以及通过Docker容器运行。 1. 通过Spring Boot Maven插件运行这是一种非常常见的方式来运行Spring Boot应用。 当你使用IDE(如IntelliJ IDEA或Eclipse)时,你通常可以直接在IDE中运行你的主应用类。 这背后的机制实际上是IDE在使用Maven或者Gradle插件运行你的应用。 对于Maven,你可以在文件中加入Spring Boot插件,然后通过mvn spring-boot:run命令来运行应用。 2. 通过Java命令行运行如果你的应用已经打包成一个可执行的JAR文件,你可以通过Java命令行工具来运行这个应用。 你需要确保你的系统上已经安装了Java,并且通过运行命令java -jar 来启动应用。 这种方式的优点是可以在任何安装了Java的系统上运行你的应用,无需额外的工具或插件。 3. 通过Docker容器运行这是一种在现代软件开发中越来越流行的方式。 Docker允许你将你的应用以及所有依赖项打包到一个独立的、可移植的容器中,然后这个容器可以在任何安装了Docker的系统上运行。 对于Spring Boot应用,你可以通过使用Spring Boot的Docker支持或者Dockerfile来创建Docker容器。 例如,你可以在Dockerfile中指定如何构建和运行你的Spring Boot应用,然后通过docker build和docker run命令来创建和运行容器。 以上三种方式各有优缺点,选择哪种方式取决于你的具体需求和上下文。 例如,如果你在开发过程中,可能需要通过Maven插件或者IDE来运行你的应用。 如果你的应用需要在不同的环境中运行,那么可能会选择通过Java命令行或者Docker容器来运行你的应用。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。