2016-12-06 63 views
3

import語句我有一個使用XML配置舊Spring項目重寫Spring配置。 我想重寫使用java annotations此配置(因爲某些原因)。 在這種xml配置我有這個令人毛骨悚然代碼:使用Java註釋,而不是XML與SPEL

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns....> 
    <!-- ... --> 
    <import resource="classpath:/spring/${service.loader:service}-loader.xml" /> 
    <!-- ... --> 
</beans> 

我如何可以使用Java註解重寫這個import語句?

@Configuration 
@Import({ 
    // TODO What do I need write here? 
}) 
public class SpringConfig { 
    // ... 
} 

更新:

注:我想重寫所有XML文件,我需要導入Java類(由物業或默認)。 我想我需要條件聲明。

回答

3
@Configuration 
public class Loader { 
    /*configurations in classpath:/spring/${service.loader:service} 
    -loader.xml file */ 

} 

@Configuration 
@Import({Loader.class}) 
public class SpringConfig { 
    // ... 
} 
0

您可能想要從基於xml的配置文件導入,您可以使用下面的標籤導入基於註釋的彈簧配置中的資源。

@ImportResource("/spring/${service.loader:service}-loader.xml") 

但如果你是任何情況下都是XML轉換成基於@Conguration相應的註釋,那麼你應該有下面的標籤做

@Import(OtherConfiguration.class) 
+0

感謝,但意味着我可以如何使用條件導入另一個Java配置?還是SpEl? –

+0

您可能想使用@Value來解析您的SpEl – mhasan

0

如果使用彈簧啓動,那麼你可以做這樣的事情

@SpringBootApplication 
@ImportResource("classpath:myconfig.xml") 
public class MyClasss{ 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); //Up and running 
    } 

}