Spring入门Blog[一、Ioc控制反转注入原理]

  1. 在spring中IOC控制反转是spring的一个重点内容下面我们通过一个简单的案例简单阐述一下springIOC的应用,这其中包括ID和name两种注入方法和基本属性的注入方法等标注在注释中:  
  2. 1、  新建Java项目并且加入Jar包:  
  3. 这一步我们首先要新建一个java项目然后导入相关的Jar包支持。在这里我说明一下要导入的Jar包:  
  4. 分别是:  
  5.    
  6. A、  Spring.jar内部包含控制反转的内容  
  7. B、  Commons-logging.jar是我们用来输出日志用的  
  8.   
  9. 2、  编写程序得到BeanFactory容器中的java对象  
  10. A、  编写要IOC的Java类  
  11. //类很简单。只有一个方法用来测试即可  
  12.     public void addUser(){  
  13.         System.out.println("============");  
  14.     }  
  15. B、  编写beans.xml文件  
  16. <?xml version="1.0" encoding="UTF-8"?>  
  17. <beans xmlns="http://www.springframework.org/schema/beans"  
  18.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  19.        xsi:schemaLocation="http://www.springframework.org/schema/beans  
  20.       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
  21.     <bean id="userAction" class="com.spring.action.UserAction" />  
  22. </beans>  
  23. C、  编写测试类JunitTestCase  
  24. @Test  
  25.     public void test01(){  
  26.         //得到容器对象  
  27.         BeanFactory applicationContext = new ClassPathXmlApplicationContext("beans.xml");  
  28.         //得到配置的bean  
  29.         UserAction user = (UserAction) applicationContext.getBean("userAction");  
  30.         调用相关的方法  
  31.         user.addUser();  
  32.     }  
  33. 输出结果:  
  34.     ============  
  35.   
  36. Setter注入:原理同上。只不过是我们不new类里面的属性。而是只将他声明出来。然后将容器里面的值配置通过反射赋值过去即可:  
  37. 在下面的类里面userService属性并没有new出来。但是它有一个set方法。赋值的方法也就是配置文件中指定的:  
  38. Java文件  
  39. public class UserAction {  
  40.       
  41.     private UserService userService;  
  42.     public void setUserService(UserService userService) {  
  43.         this.userService = userService;  
  44.     }  
  45.       
  46.     public void addUser(){  
  47.         userService.HelloWorld();  
  48.     }  
  49. }  
  50. Xml配置文件:  
  51. <bean id="userService" class="com.spring.service.UserServiceImpl">  
  52.     <property name="userDao" ref="userDao"></property>  
  53. </bean>  
  54. <!—下面的ID可以换成name最大的区别就是name可以有特殊字符,而ID不可以有-->  
  55. <bean id="userAction" class="com.spring.action.UserAction">  
  56.     <property name="userService" ref="userService">  
  57.         <!—基本属性的注入方式-->  
  58.         <value>helloworld</value>  
  59. </property>  
  60. </bean>  
  61. 这里我们首先第一个指定了userService的bean。然后将这个bean按照property指定到了Action的属性值里面。也就是将值赋了过去。  
  62.   
  63. 另外注入的方式分为3种。Setter、constructor、Interface。  
  64. 我们经常用的也就是Setter了。这里也就只介绍setter方法。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值