Bean
Posted by Bruce Tsai
當設定配置完成後,開發時所需要的就是透過 Spring 的功能來幫助開發人員更快更容易的處理程式內容。而如何取得 bean 則是基礎中的基礎
透過 BeanFactory.getBean() 來取得 bean
- 註:ApplicationContext 繼承了 BeanFactory 介面
ApplicationContext context = getContext();
MessageService service = (MessageService) context.getBean("messageService");
透過 @Autowired 注入 bean
- 註:物件本身必須也是 bean
@Component
public class MessageService {
@Autowired
MessageRepository messageRepository;
public MessageRepository addMessage(Message message) {
messageRepository.add(message);
}
...
}
常見錯誤
MessageService service = new MessageService(); // 未透過 spring 取得 bean
service.addMessage(); // MessageRepository 未注入,拋出 NullPointerException