Spring 基礎知識 - 依賴註入
阿新 • • 發佈:2017-05-04
ans factory control 自己 int pac java str actor
所謂的依賴註入是指容器負責創建對象和維護對象間的依賴關系,而不是通過對象本身負責自己的創建和解決自己的依賴。
依賴註入主要目的是為了解耦,體現了一種“組合”的理念。
無論是xml配置、註解配置還是Java配置,都被稱為配置元數據,所謂的元數據即描述數據的數據。
聲明Bean的註解:
@Component組件,沒有明確的角色
@Service在業務邏輯層使用
@Repository 在數據訪問層使用
@Controller 在展現層使用
註入Bean的註解:
@Autowired: spring提供的註解
@Inject: JSR-330提供的註解
@Resource: JSP-250提供的註解
代碼演示:
1. 聲明一個業務類
package com.net888.ioc; import org.springframework.stereotype.Service; @Service public class FunctionService { public String sayHello(String word){ return "Hello " + word + "!"; } }
2. 註入一個業務類
package com.net888.ioc; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; @Service public class UseFunctionService { @Autowired FunctionService functionService; public String SayHello(String word){ return functionService.sayHello(word); } }
3. 聲明一個配置類
package com.net888.ioc; import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan("com.net263.ioc") public class DiConfig { }
4. 測試類
package com.net888.ioc; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class RunApp { public static void main(String[] args){ AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DiConfig.class); UseFunctionService useFunctionService = context.getBean(UseFunctionService.class); System.out.println(useFunctionService.SayHello("IOC... DI")); } }
5. 運行結果
Spring 基礎知識 - 依賴註入