Spring 注册 Bean 在配置中的定义和使用 Autowired
因为项目的需要,我们使用了一个第三方的电子邮件库,但是我们希望把这个库在项目中注册成 Bean 然后随时在其他地方使用。
Configuration
在哪里注册?
我们通常可以在 Configuration 类中进行注册。
在 Configuration 类中,我们需要使用 @Configuration 这个注解。
如下图中显示的代码:
@Bean
public MailgunMessagesApi mailgunMessagesApi() {
return MailgunClient.config(PRIVATE_API_KEY).createApi(MailgunMessagesApi.class);
}
这个代码就是直接在 Configuration 类中进行了注册。
同时在这个注册中,我们使用了 Configuration 注解。
如何使用
在项目中如果需要对注册的 Bean 进行使用的话。
我们可以在需要使用的地方进行 @Autowired 就可以了。
如下面的代码:
private static MailgunMessagesApi mailgunMessagesApi;
@Autowired
public EmailUtils(MailgunMessagesApi mailgunMessagesApi) {
this.mailgunMessagesApi = mailgunMessagesApi;
}
定义了一个变量,然后在构造函数中进行 Autowired 的。
使用也非常简单,在类中直接用就可以了。