最重要的是,“自动”前缀背后的原因是什么?@Configuration用而不是注释的类@AutoConfiguration不太自动化还是什么?
@Configuration是一个 spring 框架注释,并不严格绑定到spring-boot. 它是在 spring 开始允许以编程方式创建spring-beansas 以从xmlbean 定义向前推进时引入的。
@AutoConfiguration是spring-bootSpring 框架中不常见的特定注释。它存在的原因是为了让合作的外部提供者spring-boot能够用这个注释来标记他们提供的一些库中的一些类,以通知spring-boot这些类可以在 Spring 应用程序启动期间自动解析并进行一些初始化。
因此,如果开发某个应用程序的某个常规程序员碰巧具有kafka依赖项,那么一些 bean 将自动创建并添加到应用程序上下文中,并准备好供程序员使用,尽管他没有为它们定义任何配置。Spring-boot已经知道这一点,因为kafka提供者已经通过在他们提供的 jar 中标记某些类来通知注释@AutoConfiguration。
因此,@AutoConfiguration有一些更强大的配置可用,如before、after、 、beforeName,afterName以便允许提供者指定在应用程序启动期间何时应用配置(如果需要某些顺序)。
因此,某些使用 .NET 开发应用程序的常规程序员不应使用此注释spring-boot。它适用于开发其他用户可能使用的库的人spring-boot。图书馆就是这样的一个例子kafka。
为了使其在spring-boot项目中工作@EnableAutoConfiguration,还需要启用自动配置。
来自弹簧文档
Spring Boot 自动配置尝试根据您添加的 jar 依赖项自动配置您的 Spring 应用程序。例如,如果 HSQLDB 位于您的类路径上,并且您尚未手动配置任何数据库连接 Bean,则 Spring Boot 会自动配置内存数据库。
@Configuration相反,某些常规程序员使用spring-boot或spring-frameworkas 来开发应用程序,以告知框架应该创建哪些 bean 以及如何创建。
| 归档时间: |
|
| 查看次数: |
7165 次 |
| 最近记录: |