注入方式

1 setter注入

<bean id=".." class="..">

<property name="属性名" [ref=""]>

<ref bean="要注入的bean的id"/>

</property>

</bean>

注意:setter注入是通过属性的set方法注入的,所有

属性一定要提供getter/setter方法.

2 构造器注入

<bean id=".." class="..">

<constructor-arg>

<value>xx</value>

</constructor-arg>

</bean>

注意:构造器注入是通过bean的构造函数去注入的,所以

一定要提供有相关的构造函数和无参构造函数.

注意:a.一个constructor表示一个参数,且不区分顺序.

b.constructor可以通过index属性,指定参数的位置索引(index从0开始).

c.constructor可以通过type属性避免字符串和基本数据类型的混淆.

3 p命名空间注入

语法:

p:属性名="值" //基本数据类型和String注入值

p:属性名-ref="bean的id值" //引用bean的属性注入值.

注意:如果要使用p:,需要在配置文件中引入p命名空间.

xmlns:p="http://www.springframework.org/schema/p"

注意:p命名空间是bean属性形式的注入方式.其他的是子元素注入方式

例: <bean id=".." class=".." p:age="18"/>

4 setter注入和构造器注入的区别

1)setter是通过setter方法实现

构造器注入是通过构造函数实现

2)setter注入灵活性好.

构造器注入灵活性较差.

3)setter注入时效性差

构造器注入时效性好

4)setter注入对象通过无参构造函数创建

构造器注入对象通过构造方法创建,建议保留无参构造函数.

时间: 2024-10-13 05:27:01

注入方式的相关文章

springMvc的注解注入方式

springMvc的注解注入方式 最近在看springMvc的源码,看到了该框架的注入注解的部分觉的有点吃力,可能还是对注解的方面的知识还认识的不够深刻,所以特意去学习注解方面的知识.由于本人也是抱着学习的态度来阅读源码,若文章在表述和代码方面如有不妥之处,欢迎批评指正.留下你的脚印,欢迎评论!希望能互相学习. 1,首先定义三个常用的注解Service,Autowired,Contrller:(主要的解释都在代码中有,在这里就不多陈述) Service: package com.lishun.A

spring四种依赖注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是"控制反转",通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员,而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种

spring 四种依赖注入方式以及注解注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化, 而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中.依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我们程序员, 而控制反转是指new实例工作不由我们程序员来做而是交给spring容器来做. spring有多种依赖注

Spring中Ioc容器的注入方式

1 通过setter方法注入 bean类: package com.test; public class UserServiceImplement implements IUserService { private IUserDao user; public IUserDao getUser() { return user; } public void setUser(IUserDao user) { this.user = user; } public void saveUser() { us

Spring中List、Set、Map、数组注入方式中标签的使用

在这里不多说,直接进入正题,在使用Spring时,如果对象实例含有数据或集合属性时,那我们该如何去配置Spring.xml呢?我们就需要property下的子元素list,set,map等子元素.示例为: <bean> <property> <list>--</list> or <set>--</set> or <map>--</map> </property> </bean> [转载使

控制反转IOC的依赖注入方式

引言: 项目中遇到关于IOC的一些内容,因为和正常的逻辑代码比较起来,IOC有点反常.因此本文记录IOC的一些基础知识,并附有相应的简单实例,而在实际项目中再复杂的应用也只是在基本应用的基础上扩展而来的.本文目的两个,一是记录学习过程,以便将来温故:二是请大牛对小弟指点一二. 概念: 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入(Dependen

【SSH系列】深入浅出spring IOC中三种依赖注入方式

spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入什么?控制什么?依赖注入和控制反转是一样的概念吗?接触新的知识,小编的脑袋中全是大大的问号,不过没有关系,今天这篇博文,小编主要来简单的介绍一下在spring IOC中依赖注入的方法. 依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性.我们可以从以下几个方面理解: a.参与者都

Spring IOC 注入方式

依赖注入通常有如下两种方式: ①设值注入:IOC容器使用属性的Setter方法来注入被依赖的实例. 设值注入是指IOC容器使用属性的Setter方法来注入被依赖的实例.这种注入方式简单.直观,因而在Spring的依赖注入里大量使用. ②构造注入:IOC容器使用构造器来注入被依赖的实例. 构造注入在构造实例时,已经为其完成了依赖关系的初始化.这种利用构造器来设置依赖关系的方式,被称之为构造注入. Spring推荐面向接口编程,可以更好的让规范和实现分离,从而提供更好的解耦. 对于一个JAVAEE应

Spring事务Transaction配置的五种注入方式详解

Spring事务Transaction配置的五种注入方式详解 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ??? 总结如下: ??? Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. ???DataSou

Spring IOC的三种注入方式

Spring IOC三种注入方式: 1.    接口注入 2.    getter,setter方式注入 3.    构造器注入 对象与对象之间的关系可以简单的理解为对象之间的依赖关系:A类需要B类的一个实例来进行某些操作,比如在A类的方法中需要调用B类的方法来完成功能,叫做A类依赖于B类.控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术,由容器控制程序之间的关系,而不是由代码直接控制. 1.接口注入 public class ClassA {  private InterfaceB