我有一個配置,它的@Import
- 由註釋。我希望配置可以訪問註釋中的值。這可能嗎?有沒有辦法在Spring Boot中將註釋的值傳遞給我的配置?
配置:
@Configuration
public class MyConfig
{
@Bean
public CacheManager cacheManager(net.sf.ehcache.CacheManager cacheManager)
{
//Get the values in here
return new EhCacheCacheManager(cacheManager);
}
@Bean
public EhCacheManagerFactoryBean ehcache() {
EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean();
ehCacheManagerFactoryBean.setShared(true);
return ehCacheManagerFactoryBean;
}
}
註釋
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Import(MyConfig.class)
public @interface EnableMyCaches
{
String value() default "";
String cacheName() default "my-cache";
}
我將如何得到我的配置如下傳遞的價值?
@SpringBootApplication
@EnableMyCaches(cacheName = "the-cache")
public class MyServiceApplication {
public static void main(String[] args) {
SpringApplication.run(MyServiceApplication.class, args);
}
}
這需要我的代碼預先知道我的註解類的名稱。但是,如果我的類是包含作爲依賴jar我不知道 –