文档章节

[Spring]-关于构造函数是private的初始化Bean

吐槽的达达仔
 吐槽的达达仔
发布于 2014/12/05 22:17
字数 252
阅读 69
收藏 0

项目比较旧,还是JDK1.4,但是作为熟悉基础知识,还是需要掌握一点的。

 

一版的Spring配置如下:

<bean id="user" class="kevin.User">  
     <property name="name" value="Kevin"></property>  
     <property name="age" value="99"></property>  
</bean>

 

 

Spring使用User的无参构造函数进行User对象的实例化。

 

那如果User的实例化有参数呢?

<bean id="user" class="kevin.User">  
    <constructor-arg value="123"></constructor-arg>  
    <constructor-arg value="male"></constructor-arg>  
    <property name="name" value="Kevin"></property>  
    <property name="age" value="99"></property>  
</bean>

 那就通过<constructor-arg>XXX</constructor-arg>

来配置吧。

 

最后一种情况,就是这个对象的构造函数的私有的,或者是来自于工厂类的:

<!--工厂类构造实例化-->
<bean id="userFactory" class="kevin.UserFactory">  
    </bean>  

<bean id="user" factory-bean="userFactory"  
        factory-method="newInstance2">  
       <property  name="name" value="KevinJom"></property>  
    </bean>

<!--单例类实例化-->
<bean id="user" factory-bean="userFactory"  
        factory-method="getInstance">  
    </bean>

 

因为很多时候,单例类也需要引用Service层,或者DAO层的对象。

通过Spring的配置就可以方便注入了。

 

Spirng2.5以后就有。。。

@Autowired

 

 

 

本文转载自:http://dacoolbaby.iteye.com/blog/1700495

吐槽的达达仔
粉丝 28
博文 104
码字总数 7105
作品 0
广州
程序员
私信 提问
Spring 实例化bean

Spring实例化bean一般有3种方式:通过bean的自身构造函数,通过工厂类和通过别的实体bean的方法. 通过bean的自身构造函数是最普通也是最常用的一种,在XML配置如下: 通过工厂类构造bean: publi...

晨曦之光
2012/04/25
433
0
【Spring】- 属性注入方式

House类:只有一个People属性,验证引用的ref引用bean的set方法注入方式~~~package com.zhiwei.autowire; public class House {private People people; public People getPeople() {return ......

ZeroneLove
03/02
11
0
【死磕 Spring】—– IOC 之构造函数实例化 bean

原文出自:http://cmsblogs.com 用于实例化 bean,它会根据不同情况选择不同的实例化策略来完成 bean 的初始化,主要包括: Supplier 回调: 工厂方法初始化: 构造函数自动注入初始化: 默认...

chenssy
2018/10/25
0
0
Spring 之 IoC 源码分析 (基于注解方式)

一、 IoC 理论 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。 二、IoC方式 Spring为IoC提供了2种方式,一种是基于xml...

星爵22
08/19
330
0
javax.inject中@Inject、@Named、@Qualifier和@Provider用法

@Inject @Inject支持构造函数、方法和字段注解,也可能使用于静态实例成员。可注解成员可以是任意修饰符(private,package-private,protected,public)。注入顺序:构造函数、字段,然后是方...

The-Start
2013/10/23
854
3

没有更多内容

加载失败,请刷新页面

加载更多

关于运维,该怎么决定它的方向,这个似工作又似兴趣的存在

我之前主要从事网络、桌面、机房管理等相关工作,这些工作使我迷惘,这应该是大多数运维人都经历过的过程; 18年国庆,我从国内前三的消费金融公司裸辞,下海创业,就是想要摆脱这样的困境。...

网络小虾米
9分钟前
2
0
Java Timer的用法

Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("11232"); } }, 200000 , 1000); public void schedule(TimerTask task, long delay......

林词
13分钟前
3
0
使用js动态加载外部js文件以及动态创建script脚本

动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该DOM动态添加的脚本。和操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。 动态加载外的外...

Bing309
20分钟前
2
0
从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特...

阿里巴巴云原生
24分钟前
2
0
天气获取

本文转载于:专业的前端网站➨天气获取 $.get("http://wthrcdn.etouch.cn/WeatherApi", { citykey: cityCode }, function (d) { //创建文档对象 var parser = new ......

前端老手
24分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部