spring Bean的三种注入方式
1、构造函数注入:
构造函数的注入方式分为很多种
(1)普通构造函数,空参数的构造函数
- <bean id="exampleBean" class="examples.ExampleBean"/>
(2)根据构造函数的参数顺序和个数
- package com.my.bean;
- public class Foo {
- public Foo(Bar bar, Baz baz) {
- // ...
- }
- }
- <beans>
- <bean id="foo" class="com.my.bean.Foo">
- <constructor-arg ref="bar"/>
- <constructor-arg ref="baz"/>
- </bean>
- <bean id="bar" class="com.my.bean.Bar"/>
- <bean id="baz" class="com.my.bean.Baz"/>
- </beans>
(3)根据构造函数的参数类型匹配
- <bean id="exampleBean" class="examples.ExampleBean">
- <constructor-arg type="int" value="7500000"/>
- <constructor-arg type="java.lang.String" value="42"/>
- <constructor-arg type="java.lang.Boolean" value="false"/>
- </bean>
(4)根据构造函数的参数索引顺序和个数
- <bean id="exampleBean" class="examples.ExampleBean">
- <constructor-arg index="0" value="3000"/>
- <constructor-arg index="1" value="42"/>
- </bean>
(5)spring3以上还可以通过参数名称进行注入
- <bean id="exampleBean" class="examples.ExampleBean">
- <constructor-arg name="age" value="25"/>
- <constructor-arg name="name" value="jerry"/>
- </bean>
2、静态工厂方法注入
- <bean id="clientService"
- class="examples.ClientService"
- factory-method="getInstance"/>
- public class ClientService {
- public static ClientService getInstance() {
- return new clientService();
- }
- }
3、实例化的工厂方法注入
- public class MyServiceFactory {
- public MyServiceBean createMyServiceBean(){
- return new MyServiceBean();
- }
- }
- <bean id="myServiceFactory" class="com.my.bean.MyServiceFactory"></bean>
- <bean id="personService" factory-bean="myServiceFactory" factory-method="createMyServiceBean"></bean>
spring Bean的三种注入方式的更多相关文章
- spring Bean的三种配置方式
Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java Config 添加spring的maven repository <dependency> ...
- Spring IOC以及三种注入方式
IOC是spring的最基础部分,也是核心模块,Spring的其他组件模块和应用开发都是以它为基础的.IOC把spring的面向接口编程和松耦合的思想体现的淋漓尽致. IOC概念 IOC(Invers ...
- Spring IOC 中三种注入方式
项目错误知识点记录 正文 最近在项目的时候,用到Spring框架,Spring框架提供了一种IOC的自动注入功能,可以很轻松的帮助我们创建一个Bean,这样就省的我们四处写new Object()这样 ...
- Spring常用的三种注入方式
好文要收藏,摘自:https://blog.csdn.net/a909301740/article/details/78379720 Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入 ...
- Spring:Spring-IOC三种注入方式、注入不同数据类型
一.Spring IOC(依赖注入的三种方式): 1.Setter方法注入 package com.jpeony.spring.setter; import com.jpeony.spring.com ...
- spring bean的三种管理方式·
1.无参构造函数 1.xml文件配置内容 <!--无参构造函数--> <bean id="bean1" class="com.imooc.ioc.dem ...
- Spring学习日记01_IOC_xml的三种注入方式
什么是IOC 控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 使用IOC目的:为了耦合度降低 做入门案例就是IOC实现 IOC底层原理 xml解析 工厂模式 反射 原始方式 cla ...
- spring ioc三种注入方式
spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...
- Spring IOC 三种注入方式
1. 接口注入 2. setter注入 3. 构造器注入 对象与对象之间的关系可以简单的理解为对象之间的依赖关系:A类需要B类的一个实例来进行某些操作,比如在A类的方法中需要调用B类 ...
随机推荐
- XDCTF 2013 code2 跳出死循环
题目:编写一个程序(比如kernel module),使附件2.c中的程序跳出死循环.2.c中的代码如下:#include int main(int argc, char *argv[]){int n ...
- wcf传输Dataset大数据量 -压缩(一)
wcf传输Dataset大数据量 -压缩(一) 由于WCF不能传输DataTable(不能序列化),所以更多项目中都会使用DataSet作为查询集合的首选返回类型,但是由于DataSet会生成很多的状 ...
- 项目结构的设计(iOS篇)
项目结构的设计(iOS篇) 本文附带源码:YoungHeart-Chapter-02.zip 在设计任何一个框架之前,都应规划好项目结构. 假定Git作为我们的项目管理工具.我们要建立两个仓库,一个用 ...
- Sublime中开发Ruby
Ruby:Sublime中开发Ruby需要注意的Encoding事项 目录 背景Sublime相关默认的文件存储编码:UTF8默认的输出控制台编码:UTF8修改默认的输出控制台编码Ruby相关默认的代 ...
- 从MSSQL server 2005中移植数据到Oracle 10g
body, p, th, td, li, ul, ol, h1, h2, h3, h4, h5, h6, pre { font-family: simsun; line-height: 1.4; } ...
- TCP/IP capture/analysis tools in Unix/Linux
There are some useful tools in Unix/Linux to check out how the system is going on. Here is a short s ...
- MacOSX 下.app支持同时运行多个实例
在MacOSX下的.app是一个程序包(实际上是个目录),双击该目录时系统会根据包的目录结构启动相应的可执行程序..app的程序默认是单实例运行的,所以从.app启动的程序实例只有一个(可执行程序不受 ...
- 异步队列 Deferred
异步队列 Deferred 背景: 移动web app开发,异步代码是时常的事,比如有常见的异步操作: Ajax(XMLHttpRequest) Image Tag,Script Tag,iframe ...
- [Android开发常见问题-12] Android开发中debug.keystore如何使用。
有些团度在开发较大的项目的时候会用到debug.keystore这种debug签名,那么这个东西怎么用呢?之前在导出签名包的时候只需要android tools -> export signed ...
- TCPDump 抓Loopback数据包
编写网络程序必备截包工具, unix下面自带tcpdump, linux就不用说了.用于排查网络程序的bug,命令行如何使用请百度谷歌.分析包推荐wireshark,可视化非常方便.一般都是在非Win ...