java - 如何使用 Spring Boot 指定 BeanNamingStrategy?

标签 java spring spring-boot

我想在使用 Spring Boot 配置我的应用程序时指定自定义 BeanNamingStrategy。默认情况下,Spring Boot 使用 MethodNameStrategy,这是一个 BeanNamingStrategy

我想这样做的原因是因为我有抽象父类,我的消费者将为其创建配置子类。父类中的方法彼此具有相同的名称,因此不会为子类的不同实现注册。我的自定义 BeanNamingStrategy 会将配置类的简单名称附加到某些 bean 名称。

通常在 Spring 应用程序中,您可以使用 ApplicationContextsetBeanNamingStrategy 方法传递自定义 BeanNamingStrategy。但是,如果 Spring Boot 正在创建 ApplicationContext,我该怎么做?

最佳答案

SpringApplicationBuilder 有一个方法 beanNameGenerator()这让您可以传入自定义生成器。

参见 22.3 Fluent builder API在 Spring Boot 引用中了解如何使用流畅的 API。


不幸的是,这对您没有帮助,因为这仅适用于@Component 样式的类注释,不适用于@Bean 方法,其名称为are hard coded。使用 this method .

关于java - 如何使用 Spring Boot 指定 BeanNamingStrategy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33079455/

相关文章:

java - Spring 5 安全 OAuth2 登录重定向循环

Spring Boot War 部署到 Tomcat

java - Spring批处理2.2 JavaConfig

java - 无法模拟 FileInputStream

Java 自动递增 id

java - 有用还是浪费内存?

java - SequenceInformation 检索不正确 - 结果集中缺少列

java - 是否可以判断请求JSON中是否存在参数

java - 如何从 CustomView 开始一个新的 Activity?

java - Selenium 2 :Selenium WebDriver : Select one option from Image Drop Down list Box