我尝试使用@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是正确注入的,并具有例如testProperty.name = "Bean1"的值

目前,我创建的Bean只是将EL表达式作为其名称:{"bean":"#{testProperty.name}"

如何从MyBean赋予testProperty.name名称?

最佳答案

您可以将属性值用于cron批注的@Scheduled属性:

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


因此完全不需要SpEL。

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

10-12 23:06