Spring-Bean实例化三种的方式
Bean实例化三种方式
- 无参构造实例化(重点)
- 工厂静态方法实例化
- 工厂实例方法实例化
工厂静态方法实例化
1.编写接口
package com.my;
public interface UserDao {
public void save();
}
2.接口实现方法
public class UserDaoImpl implements UserDao {
public UserDaoImpl() {
System.out.println("UserImpl创建.....");
}
public void init(){
System.out.println("初始化方法.....");
}
public void destory(){
System.out.println("销毁方法");
}
public void save() {
System.out.println("save running.....");
}
}
3.创建静态工厂
public class StaticFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}
3.编写配置文件
<bean id="UserDao" class="com.my.factory.StaticFactory" factory-method="getUserDao"></bean>
4.测试
public class UserDemo {
@Test
public void mytest(){
ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao1 = (UserDao) application.getBean("UserDao");
System.out.println(userDao1);
}
}
5.测试结果

6.测试动态
1.编写测试类
public class DynamicFactory {
public UserDao getUserDao() {
return new UserDaoImpl();
}
}
2.编写测试文件
<bean id="factory" class="com.my.factory.DynamicFactory"></bean>
<bean id="UserDao" factory-bean="factory" factory-method="getUserDao"></bean>
3.写结果

Spring-Bean实例化三种的方式的更多相关文章
- spring Bean的三种配置方式
Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java Config 添加spring的maven repository <dependency> ...
- spring Bean的三种注入方式
1.构造函数注入: 构造函数的注入方式分为很多种 (1)普通构造函数,空参数的构造函数 <bean id="exampleBean" class="examples ...
- spring bean的三种管理方式·
1.无参构造函数 1.xml文件配置内容 <!--无参构造函数--> <bean id="bean1" class="com.imooc.ioc.dem ...
- Spring三 Bean的三种创建方式
创建Bean的三种方式在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法.实际上,Spring ...
- Spring IOC以及三种注入方式
IOC是spring的最基础部分,也是核心模块,Spring的其他组件模块和应用开发都是以它为基础的.IOC把spring的面向接口编程和松耦合的思想体现的淋漓尽致. IOC概念 IOC(Invers ...
- Spring IOC 中三种注入方式
项目错误知识点记录 正文 最近在项目的时候,用到Spring框架,Spring框架提供了一种IOC的自动注入功能,可以很轻松的帮助我们创建一个Bean,这样就省的我们四处写new Object()这样 ...
- Spring boot 集成三种拦截方式
三种拦截方式分别为: javax.servlet.Filter org.springframework.web.servlet.HandlerInterceptor org.aspectj.lang. ...
- Spring boot 集成三种定时任务方式
三种定时任务方式分别为 org.springframework.scheduling.annotation.Scheduled java.util.concurrent.ScheduledExecut ...
- 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 ...
随机推荐
- ARL:资产侦察灯塔系统
资产灯塔,不仅仅是域名收集 功能简介 "挖洞神器"资产安全灯塔(ARL),旨在快速侦察与目标关联的互联网资产,构建基础资产信息库. 协助甲方安全团队或者渗透测试人员有效侦察和检索资 ...
- java指定时间失效Calendar
获取第二天的1:30的毫秒数 public static Long getEveryDayTime() { Calendar calendar = Calendar.getInstance(); ca ...
- 重学C++ (一)基础回顾
由于C++基础非常重要,所以打算把平时重学C++的总结,抽时间上传到博客! 1.切勿乱用带符号类型和无符号类型 #include <iostream> using namespace st ...
- 还不知道怎么 Mock ,用这 6款工具!
以下是几个常用的国外可以mock测试的工具,供参考: MockServer: MockServer 是一个开源的 API mock 测试工具,提供了强大的模拟服务器和 mock 服务功能.MockSe ...
- react中super()的理解
首先 super() 是在 es6的class(类)的方法创建组件出现 下面是分别是构造函数创建组件和class(类)创建组件 构造函数方法创建组件 在构造函数方法中,在组件接收参数的时候,props ...
- web 页面/内容 触摸/点击滑动
监听标签的触摸/鼠标滑动事件,添加元素的切换动画,效果如下: 事件监听 鼠标事件和触摸事件监听: 1 componentDidMount() { 2 var teachingReportDiv = d ...
- windows11 下使用 阿里云 modelscope docker 环境 运行参考
昨天看视频 我们做了个能对话的AI派蒙,免费给大家玩! 发现阿里有一个语音转文字的模型(paraformer),之前处理这种需求一直都是直接调用服务商提交好的API接口 突然想尝试一下本地搭建,虽然和 ...
- DevOps|AGI : 智能时代研发效能平台新引擎(上)
AGI 的出现,给了我们一个新视角去审视我们做过的系统,尤其是研发效能平台.研发效能平台作为一个工具平台,本质就是提高公司整体产研的效率.AGI 的快速进步大家已经有目共睹,本文就是在项目协同,代码管 ...
- 2022-12-01:从不订购的客户。找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C
2022-12-01:从不订购的客户.找出所有从不订购任何东西的客户,以下数据的答案输出是Henry和Max,sql语句如何写? DROP TABLE IF EXISTS `customers`; C ...
- 2022-05-01:golang里,结构体B里包含一个结构体A和一个整型成员变量。现在要给结构体A实现一个方法,让它能访问到B的整型变量,这个方法应该怎么写? 如果还有结构体C,D,E,F...都和
2022-05-01:golang里,结构体B里包含一个结构体A和一个整型成员变量.现在要给结构体A实现一个方法,让它能访问到B的整型变量,这个方法应该怎么写? 如果还有结构体C,D,E,F-都和B一 ...