Spring 实例化bean的三种方式
第一种方法:直接配置Bean
- <bena id="所需要实例化的一个实例名称" class="包名.类名"/>
例如:
配置文件中的bean.XML代码:
- <bean id="userA" class="com.test.User"/>
- package com.test
- public class User{
- public void test(){
- System.out.println("HelloWorld");
- }
- }
第二种方法:简单工厂创建Bean
- <bena id="所需要实例化的一个实例名称" class="包名.类名" factory-mathod="该类创建实例的方法名"/>
通过使用简单工厂的静态方法进行创建:
例如:
- <bean id="userA" class="com.test.MyFactory" factory-mathod="getInstance"/>
- package com.test
- public class MyFactory{
- public static User getInstance(){
- return new User();
- }
- }
第三种方法:抽象工厂方法创建Bean
- <bena id="所需要实例化的一个工厂实例名称" class="包名.工厂类类名"/>
- <bean id="所需要创建的实例名" factory-bean="用来创建实例的工厂实例名" factory-mathod="工厂实例中用于创建实例的方法名"/>
这种方法要先创建工厂实例,再通过调用工厂实例的方法来创建所需要的实例。
例如:
- <bean id="userFactory" class="com.test.CreateFactory"/>
- <bean id="userA" factory-bean="userFactory" factory-mathod="getInstance"/>
- package com.test
- public class CreateFactory{
- public User getIntance(){
- return new User();
- }
- }
在大多数情况下我们用的都是第一种方式,另外要注意的是:如果实例名存在特殊字符("/"等字符),那么就不能用id来标识实例名,
而要用name属性来标识。
Spring 实例化bean的三种方式的更多相关文章
- Spring实例化Bean的三种方式及Bean的类型
1.使用类构造器实例化 [默认的类构造器] <bean id=“orderService" class="cn.itcast.OrderServiceBean"/ ...
- Spring 实例化bean的三种方式:
方法一:使用构造器实例化bean java代码: package com.model; public class User { private String username; public User ...
- spring实例化bean的三种方式
公共使用的实体
- Spring学习之实例化bean的三种方式
实例化bean的三种方式 构造器实例化bean Person.java public class Person { private String name; private Integer age; ...
- spring创建bean的三种方式
spring创建bean的三种方式: 1通过构造方法创建bean(最常用) 1.1 spring默认会通过无参构造方法来创建bean,如果xml文件是这样配置,则实体类中必须要有无参构造方法,无参构造 ...
- Spring装配Bean的三种方式+导入和混合配置
目录 Spring IoC与bean 基于XML的显式装配 xml配置的基本结构 bean实例的三种创建方式 依赖注入的两种方式 构造器注入方式 setter方法注入方式 利用命名空间简化xml 基于 ...
- spring 装配bean的三种方式
这段时间在学习Spring,依赖注入DI和面向切面编程AOP是Spring框架最核心的部分.这次主要是总结依赖注入的bean的装配方式. 什么是依赖注入呢?也可以称为控制反转,简单的来说,一般完成稍微 ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring实例化Bean的三种方法
在面向对象的程序中,要想调用某个类的成员方法,就需要先实例化该类的对象.在 Spring 中,实例化 Bean 有三种方式,分别是构造器实例化.静态工厂方式实例化和实例工厂方式实例化. 构造器实例化 ...
- Spring实例化bean的几种方式
一,通过constructor实例化bean Spring可以实例化各种类型的类,不要求必须是JavaBean类型的类.在XML中配置类如下: <bean id="exampleBea ...
随机推荐
- [转载] 视音频数据处理入门:RGB、YUV像素数据处理
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- logistic 回归Matlab代码
function a alpha = 0.0001; [m,n] = size(q1x); max_iters = 500; X = [ones(size(q1x,1),1), q1x]; % app ...
- net core集成CAP
net core集成CAP https://www.cnblogs.com/guolianyu/p/9756941.html 一.前言 感谢杨晓东大佬为社区贡献的CAP开源项目,传送门在此:.NET ...
- np基本函数大全
Numpy是科学计算库,是一个强大的N维数组对象ndarray,是广播功能函数.其整合C/C++.fortran代码的工具 ,更是Scipy.Pandas等的基础 .ndim :维度 .shape : ...
- 使用OpenCV对图像进行缩放
OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_A ...
- 关于setdefault和defaultdict
c参考链接:http://blog.csdn.net/real_ray/article/details/17919289 defaultdict就是为没有的键给一个默认的值,实际是实现了一个__mis ...
- 十四、python沉淀之路--文件操作
一.文件操作b模式 1. # f = open('test11.py','rb',encoding='utf-8') # 这种情况会报错 f = open('test11.py','rb') # b ...
- java 并发runable,callable,future,futureTask
转载自:http://www.cnblogs.com/dolphin0520/p/3949310.html package future_call; import java.util.concurre ...
- centos 7 bbr 安装
1. 准备 升级内核需要4.9 以及以上 2. yum 内核升级 a. 添加 ELRepo 源 GPG key rpm --import https://www.elrepo.or ...
- 深入学习Web Service系列----异步开发模式
概述 在本篇随笔中,通过一些简单的示例来说一下Web Service中的异步调用模式.调用Web Service方法有两种方式,同步调用和异步调用.同步调用是程序继续执行前等候调用的完成,而异步调用在 ...