java - 使用 @Bean 注释和 Spring EL 表达式创建 Bean 和名称

标签 java spring spring-boot spring-el

我尝试使用 @Bean(value="") 属性创建一个 Bean 及其名称。 value 应使用 Spring EL Expression 设置。

@Configuration
public class TestClass{

   @Autowired
   TestProperty testProperty

   @Bean(value="#{testProperty.name}")
   public MyBean myBean(){
       MyBean b = new MyBean();
       return b;
   }
}

我的testProperty已正确注入(inject)并保存一个值,例如testProperty.name =“Bean1”

目前我创建的 Bean 仅以 EL 表达式作为名称:{"bean":"#{testProperty.name}"

如何从 testProperty.name 中为 MyBean 提供其名称?

最佳答案

您可以使用 @Scheduled 注释的 cron 属性的属性值:

@Scheduled(cron = "${testProperty.name}")

所以根本不需要 SpEL。

关于java - 使用 @Bean 注释和 Spring EL 表达式创建 Bean 和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41054923/

相关文章:

java - Springs SimpleUrlHandlerMapping 没有映射我的 Controller

java - 如何在 jackson/Spring boot 中允许不区分大小写的枚举映射?

java - Spring Data Hibernate + 可分页 : Returns empty results

spring - 如何使用 Spring Boot WebClient 收集分页 API 响应?

java - Spring boot Controller 无法找到 bean 类

mysql - JPQL jpa (@Query) for update column with binary operator mysql query 是什么?

java - Java 中的 $0(程序名称)?发现主要类(class)?

java - Spring mvc 测试+mockito。 @ModelAttribute 空指针

java - 如何通过maven插件部署到JBoss上?

java - 为什么当枚举对象存在时 getEnum 返回 null?