`

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方法。  
1
0
分享到:
评论

相关推荐

    Spring框架控制反转IOC和依赖注入DI详解

    本文介绍了Spring框架中的控制反转IOC和依赖注入DI,欢迎阅读,共同学习,一起进步。 Spring框架基础参考:深入学习Spring基础 文章目录一.入门程序和IOC简介二.IOC-控制反转三.DI-依赖注入四. IOC和DI五.Spring...

    Spring_01_入门篇_依赖注入(控制反转)_XML

    此文档仅供初学者学习,包括Spring的依赖注入(控制反转)的详细实例。以三层贯穿实例(持久层、业务层、控制层),由MAIN方法直接调用测试用例。

    基于框架的Web开发-IoC(控制反转)和DI(依赖注入)入门.doc

    1.2 IoC(控制反转)和DI(依赖注入)入门 1 传统的Java类 在工程下创建包ioc,在ioc包中创建类Test。(为了看起来清楚,将三个类写在了同一个Java文件中,其中唯一的public类为Test)。类的含义和关系如下: Car类...

    Spring IOC的快速入门案例

    Spring IOC的快速入门案例 &gt;下载Spring的开发包 ...&gt;理解IOC控制反转和DI依赖注入 &gt;编写Spring核心配置文件 &gt;在程序中读取Spring配置文件,通过Spring框架获得Bean,完成相应操作 Spring 4.x的目录结构  

    Spring基础与快速入门

    3 IOC:控制反转,谓之“依赖关系的转移”,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程,至于何谓接口何谓抽象,以及它们的好处,多看看设计模式吧,这里就不费口舌...

    Spring 入门代码实例

    spring 依赖注入,设值注入和构造注入的两种实现代码。 用JUNIT做测试

    spring-zwz.zip

    spring一篇入门博文的配套资源,包含了第一个spring程序、IOC控制反转、DI依赖注入、静态代理、动态代理、AOP面向切面编程等源代码

    javaSpring学习笔记

    在“Java Spring学习笔记”中,你将找到对Spring框架的全面介绍,包括IoC(控制反转)和DI(依赖注入)原理、AOP(面向切面编程)、Spring MVC、Spring Boot等核心内容。每个主题都结合了理论知识和实际示例,帮助你...

    SpringSecyrity入门demo

    它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制...

    spring.net中文手册在线版

    3.1.控制反转 第一部分 核心技术 第四章 对象、对象工厂和应用程序上下文 4.1.简介 4.2.IObjectFactory,IApplicationContext和IObjectDefinition接口介绍 4.2.1.The IObjectFactory和IApplicationContext ...

    Spring之IOC和DI(三)

    文章目录 (一)IOC的概念和作用 (二)前期准备 (三)基于XML的IOC环境搭建和入门 (四)ApplicationContext的三个实现类 ...IOC:Inversion of Control,是控制反转的意思 我们之前想new谁就new谁,控制权在

    基于java实现大学生求职就业网项目设计源码分享

    Spring是一个开源开发框架,是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。 spring主要用来开发java应用,构建J2EE平台的web应用。其核心就是提供一种新的机制管理业务对象及其依赖关系 (2)spring的优点...

    基于java实现大学生求职就业网项目设计源码

    Spring是一个开源开发框架,是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。 spring主要用来开发java应用,构建J2EE平台的web应用。其核心就是提供一种新的机制管理业务对象及其依赖关系 (2)spring的优点...

    SSM_Maneger_DEMO::high_voltage:基于 SSM的后台管理系统DEMO 使用SpringMVC+Spring+Mybatis以及maven的后台管理系统. 程序的结构分为表现层(Controller)、业务层(Service)、数据层(Dao),包括权限授权、分页查询、日志记录,订单及产品查询,授权管理等功能

    Spring IOC & DI(控制反转和依赖注入) Spring AOC (切面编程) Spring Security 进行用户登录与注销等安全授权 Mybatis dao层半ORM数据库技术(单表查询、多表查询等) Mybatis插件PageHelper,进行分页查询 方法级...

    asp.net知识库

    体验.net2.0的优雅(四):Provider、策略、控制反转和依赖注入 泛型最佳实践 asp.net 2.0下嵌套masterpage页的可视化编辑 C# 2.0与泛型 动态调用对象的属性和方法——性能和灵活性兼备的方法 泛型技巧系列:用泛型...

Global site tag (gtag.js) - Google Analytics