2016-12-09 24 views
0

@Bean(value="")属性を使用してBeanとその名前を作成しようとしています。 valueSpring EL Expressionで設定する必要があります。@BeanアノテーションとSpring EL式を使用してBeanと名前を作成する

@Configuration 
public class TestClass{ 

    @Autowired 
    TestProperty testProperty 

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

マイtestPropertyが私の作成した豆はちょうどその名などのEL式持ち、正しい注入し、現時点では例えば値testProperty.name = "Bean1"

を保持している:私はそのMyBean与えることができますどのように{"bean":"#{testProperty.name}"

を名前はtestProperty.nameですか?

+0

SpELまたはBeanの名前を使用することは本当に疑問です。あなたのユースケースについて詳しく説明できますか? – luboskrnac

+0

@luboskrnac私が使用するケースは、プロパティファイルに外部で設定された石英ジョブを作成する必要があるということです。したがって、1つ以上のジョブにすることができます。私からのこの問題に関して[もう一つのオープンな質問](http://stackoverflow.com/questions/41022276/how-to-create-spring-beans-in-a-dynamicalway-using-quartz-schedulerfactorybean)があります。多分、これはあなたに文脈を与えることができます。 – Patrick

+0

私はこれに関してあなたと非常によく似た質問に答えました:http://stackoverflow.com/questions/40929161/spring-boot-one-scheduled-task-using-multiple-cron-expressions-from-yaml-file/40930043 #40930043 – dimitrisli

答えて

1

あなたは@Scheduled注釈のcron属性のプロパティ値を使用することができます。

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

だから、すべてのSPELは必要ありません。

関連する問題