2017-06-13 50 views
0

我是Spring的初學者,開始理解bean如何工作。我想將第三方類聲明爲Service或Bean。我該怎麼做呢?我是否應該擴展課程並對其進行註釋?讓第三方類成爲服務

例如:

@Service public class MyService { public MyService(ThirdPartyClass thirdPartyClass){..}....} 在這裏我不能註釋ThirdPartyClass作爲服務或以其他方式

回答

3

如果不是,你想作爲一個bean使用類的所有者,您可以創建bean聲明在應用程序的配置類之一:

@Configuration 
public class YourConfig { 

    @Bean 
    public ThirdPartyClass thirdPartyClass() { 
     return new ThirdPartyClass(); 
    } 

} 

春天將實例基於這樣的描述一個合適的對象,並通過容器等豆類揭露它。

+0

我這樣做,並在我的應用程序類,我有註釋'@ SpringBootApplication'應該自動檢測任何'@配置'類正確?然而,它仍然沒有使用「無資格bean錯誤」 –

+0

實際上'@ SprinBootApplication'也是@Configuration類,所以你可以把這個bean聲明放在那個類中。如果通過說'我做了這個和我的應用程序類',你的意思是你創建了一個內部的'@ Configuration'類,那麼是的,只要內部類是靜態的,它就會被檢測到。 –

+0

嘗試使用斷點進行調試。 –

1

您可以添加類,這是你的控制作爲@Bean

@Configuration 
public class ApplicationConfig { 

    @Bean 
    public ClassName methodName() { 
     return new ClassName(); 
    } 
} 

在初始化應用程序時,彈簧會調用此方法並註冊ClassName對象Spring上下文和將提供其中你@Autowired這個豆。