SPRING IOC注入方式过程解析_java

来源:脚本之家  责任编辑:小易  

一、Set注入二、构造器注入三、静态工厂的方法注入内容拓展:一、Set注入1、这是最简单的注入方式,假设有一个SpringAction,类中需要实例化一个SpringDao对象,那么就可以定义一个private的SpringDao成员变量,然后创建SpringDao的set方法(这是ioc的注入入口)。2、随后编写spring的xml文件,中的name属性是class属性的一个别名,class属性指类的全名,因为在SpringAction中有一个公共属性Springdao,所以要在标签中创建一个标签指定SpringDao。标签中的name就是SpringAction类中的SpringDao属性名,ref指下面,这样其实是spring将SpringDaoImpl对象实例化并且调用SpringAction的setSpringDao方法将SpringDao注入。二、构造器注入1、这种方式的注入是指带有参数的构造函数注入,看下面的例子,我创建了两个成员变量SpringDao和User,但是并未设置对象的set方法,所以就不能支持第一种注入方式,这里的注入方式是在SpringAction的构造函数中注入,也就是说在创建SpringAction对象时要将SpringDao和User两个参数值传进来。2、在XML文件中同样不用的形式,而是使用标签,ref属性同样指向其它标签的name属性。三、静态工厂的方法注入1、静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让spring管理所有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过spring注入的形式获取。2、同样看关键类,这里我需要注入一个FactoryDao对象,这里看起来跟第一种注入一模一样,但是看随后的xml会发现有很大差别www.zgxue.com防采集请勿采集本网。

这篇文章主要介绍了SPRING IOC注入方式过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

results in a setAdminEmails(java.util.Properties)call-> administrator@example.org support@example.org 这是下的Spring官方文档里的教程给的.

Spring IOC注入的方法主要有两种

spring的IOC有三种注入方式 第一是根据属性注入 也叫set方法注入;第二种是根据构造方法进行注入;第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件

1:设值注入

IOC的意思就是控制反转,说白了就是spring取得了配置文件然后给生产一个对象注入到你配置想要的地方,也是spring基本的思想,也是spring的核心.

2:构造注入

Spring所倡导的开发方式就是:所有的类都会在Spring容器当中登记,告诉Spring你是一个什么东西,你需要什么东西。然后道Spring会在系统运行到适当的时候把你所需要的东西主动送给你。同时,也把

简单来说一个是调用set方法设值,一个是通过构造函数设值

比如有个类A。A有属性b,xml里配置b注入。getBean取到的A的对象是有b属性的,自己new的A对象没有b属性。因为getBean取到的对象是spring动态创建的,在创建过程中注入了b属性。简单的说spring帮你

Spring-ioc.xml

<?xml version= "1.0" encoding= "UTF-8"?><beans xmlns= "http://www.springframework.org/schema/beans"xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation= "http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"default-init-method= "init" default-destroy-method= "destroy"><!-- <bean id="InjectionService" class="Main.InjectionServiceImpl"><property name="injectionDAO" ref="InjectionDAO"></property> </bean> --> <bean id="InjectionService" class="Main.InjectionServiceImpl"><constructor-arg name="injectionDAO" ref="InjectionDAO"></constructor-arg> </bean><bean id="InjectionDAO" class= "Main.InjectionDAOImpl"> </bean></beans>

一、Set注入二、构造器注入三、静态工厂的方法注入内容拓展:一、Set注入1、这是最简单的注入方式,假设有一个SpringAction,类中需要实例化一个SpringDao对象,那么就可以定义一个private的SpringDao成员变量,然后创建SpringDao的set方法(这是ioc的注入入口)。2、随后编写spring的xml文件,中的name属性是class属性的一个别名,class属性指类的全名,因为在SpringAction中有一个公共属性Springdao,所以要在标签中创建一个标签指定SpringDao。标签中的name就是SpringAction类中的SpringDao属性名,ref指下面,这样其实是spring将SpringDaoImpl对象实例化并且调用SpringAction的setSpringDao方法将SpringDao注入。二、构造器注入1、这种方式的注入是指带有参数的构造函数注入,看下面的例子,我创建了两个成员变量SpringDao和User,但是并未设置对象的set方法,所以就不能支持第一种注入方式,这里的注入方式是在SpringAction的构造函数中注入,也就是说在创建SpringAction对象时要将SpringDao和User两个参数值传进来。2、在XML文件中同样不用的形式,而是使用标签,ref属性同样指向其它标签的name属性。三、静态工厂的方法注入1、静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让spring管理所有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过spring注入的形式获取。2、同样看关键类,这里我需要注入一个FactoryDao对象,这里看起来跟第一种注入一模一样,但是看随后的xml会发现有很大差别内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • springioc di循环依赖实例详解
  • spring核心容器ioc原理实例解析
  • 创建maven项目和spring ioc实例过程解析
  • spring ioc和aop的原理及实例详解
  • spring为ioc容器注入bean的五种方式详解
  • 详解spring ioc 容器启动流程分析
  • spring bean的实例化和ioc依赖注入详解
  • 通过实例解析spring ioc项目实现过程
  • 用java代码实现栈数据结构的基本方法归纳
  • 浅析java异常栈
  • java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
  • 关于spring版本与jdk版本不兼容的问题及解决方法
  • intellij idea快速创建getter和setter方法
  • springboot如何注册servlet、filter、listener的几种方式
  • spring工厂方法创建(实例化)bean实例代码
  • 为什么阿里要慎重使用arraylist中的sublist方法
  • java中concurrenthashmap的读操作为什么不需要加锁
  • java中对atomicinteger和int值在多线程下递增操作的测试
  • spring的ioc注入方式有几种?
  • spring的ioc注入方式有几种
  • spring的ioc注入方式有几种
  • spring的ioc注入方式有几种
  • Spring的Ioc注入方式如何注入Properties类型属性
  • 解释Spring的IoC? 几种注入依赖的方式?Spring的优点?
  • spring的ioc主要实现什么注入
  • spring 的ioc怎么控制反转依赖注入
  • spring中使用了IOC注入的问题
  • java ee。关Spring注入IoC方便的一个小疑惑,初学问题。谢谢!
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页springioc di循环依赖实例详解spring核心容器ioc原理实例解析创建maven项目和spring ioc实例过程解析spring ioc和aop的原理及实例详解spring为ioc容器注入bean的五种方式详解详解spring ioc 容器启动流程分析spring bean的实例化和ioc依赖注入详解通过实例解析spring ioc项目实现过程用java代码实现栈数据结构的基本方法归纳浅析java异常栈java复制文件的4种方式及拷贝文件到另一个目录下的实例代码关于spring版本与jdk版本不兼容的问题及解决方法intellij idea快速创建getter和setter方法springboot如何注册servlet、filter、listener的几种方式spring工厂方法创建(实例化)bean实例代码为什么阿里要慎重使用arraylist中的sublist方法java中concurrenthashmap的读操作为什么不需要加锁java中对atomicinteger和int值在多线程下递增操作的测试java使double保留两位小数的多方java8 十大新特性详解java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例java 字符串截取的三种方法(推荐java注解详细介绍java设置手动提交事务,回滚事务,提交事务编写java代码制造一个内存溢出的情况java中使用websocket实现在线聊天功能java spring mvc4环境搭建实例详解(步骤)java 动态增加定时任务示例浅谈idea2018打包可执行jar包的流程详解java中的checked异常和unchecked异常java实现的汉语拼音工具类完整实例spring boot实现stomp协议的websocket的方
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved