spring in action (1)

用个例子来演示什么是DI(Dependency injection)

1.下载spring-framework-2.0.7,在Eclipse加入两个lib: spring.jar和commons-logging.jar

代码:

1.GreetingService.java

2.GreetingServiceImpl.java

3.hello.xml

4.HelloApp.java

java 代码
  1. /**      
  2.  * @{#} GreetingService.java Create on 2007-11-13 下午11:31:51      
  3.  *      
  4.  * Copyright (c) 2007 by Kidd.      
  5.  */  
  6. package com.springinaction.chapter01.hello;   
  7.   
  8. /**      
  9.  * @author  
  10.  * @version 1.0      
  11.  */  
  12.   
  13. public interface GreetingService {   
  14.     void sayGreeting();   
  15. }   

 

java 代码
  1. /**      
  2.  * @{#} GreetingServiceImpl.java Create on 2007-11-13 下午11:34:12      
  3.  *      
  4.  * Copyright (c) 2007 by Kidd.      
  5.  */       
  6. package com.springinaction.chapter01.hello;       
  7.       
  8. /**      
  9.  * @author  
  10.  * @version 1.0      
  11.  */  
  12.   
  13. public class GreetingServiceImpl implements GreetingService {   
  14.        
  15.     private String greeting;   
  16.        
  17.     public GreetingServiceImpl(){}   
  18.        
  19.     public GreetingServiceImpl(String greeting) {   
  20.         this.greeting = greeting;   
  21.     }   
  22.        
  23.     /**  
  24.      * @param greeting the greeting to set  
  25.      */  
  26.     public void setGreeting(String greeting) {   
  27.         this.greeting = greeting;   
  28.     }   
  29.   
  30.     @Override  
  31.     public void sayGreeting() {   
  32.         System.out.println(greeting);   
  33.     }   
  34.   
  35. }   
  36.       
xml 代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  5.     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  6.     <bean id="greetingService"  
  7.         class="com.springinaction.chapter01.hello.GreetingServiceImpl">  
  8.         <property name="greeting" value="Buenos Dias!" />  
  9.     bean>  
  10. beans>  
java 代码
  1. /**      
  2.  * @{#} HelloApp.java Create on 2007-11-13 下午11:37:39      
  3.  *      
  4.  * Copyright (c) 2007 by Kidd.      
  5.  */       
  6. package com.springinaction.chapter01.hello;       
  7.   
  8. import org.springframework.beans.factory.BeanFactory;   
  9. import org.springframework.beans.factory.xml.XmlBeanFactory;   
  10. import org.springframework.core.io.FileSystemResource;   
  11.       
  12. /**      
  13.  * @author  
  14.  * @version 1.0      
  15.  */  
  16.   
  17. public class HelloApp {   
  18.     public static void main(String[] args) {   
  19.         BeanFactory factory = new XmlBeanFactory(new FileSystemResource("hello.xml"));   
  20.         GreetingService greetingService = (GreetingService) factory.getBean("greetingService");   
  21.         greetingService.sayGreeting();   
  22.     }   
  23. }   
  24.       

 

这个例子是描述怎么把一个String value 注入到属性。Spring 的强大在于可以用DI把Bean注入到另外一个Bean

引用一篇文章说明依赖注入和控制反转的概念。http://www.sinzy.net/Blog/Read.asp?ID=80&BID=9113

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值