本篇文章的demo是基於spring官網入門案例。當然,我做了一些改變。
我的maven web專案結構如下:
在pom.xml中加入spring的依賴:
接下来我们开始创建需要用到的类:
package com.mm.service; public interface MessageService { String getMessage(); }
package com.mm.service.impl; import com.mm.service.MessageService; public class MessageServiceImpl implements MessageService{ @Override public String getMessage() { return "hello mm"; } }
這裡我不用spring設定檔形式的注入,於是,我新建了一個設定檔類別
package com.mm.main.spring; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import com.mm.service.MessageService; import com.mm.service.impl.MessageServiceImpl; @Configuration @ComponentScan(basePackages = "com.mm") public class ApplicationConfig { @Bean MessageService messageService() { return new MessageServiceImpl(); } }
#新建一個bean來呼叫服務
package com.mm.main.spring; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.mm.service.MessageService; @Component public class MessagePrinter { @Autowired private MessageService messageService; public void printMessage() { System.out.println(this.messageService.getMessage()); } }
最後完成客戶端的編寫工作
package com.mm.main.spring; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Client { public static void main(String[] args) { ApplicationContext context=new AnnotationConfigApplicationContext(ApplicationConfig.class); MessagePrinter messagePrinter=context.getBean(MessagePrinter.class); messagePrinter.printMessage(); } }
後台列印如下:
#接下來我們用註解的方式註入,首先去掉設定檔類別中的MessageService bean
@Configuration @ComponentScan(basePackages = "com.mm")public class ApplicationConfig {// @Bean// MessageService messageService() {// return new MessageServiceImpl();// }}
為MessageServiceImpl新增註解
@Service//注解方式public class MessageServiceImpl implements MessageService{ @Overridepublic String getMessage() {return "hello mm"; } }
同樣完成輸出
#以上是Spring4的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!