学习java里的工厂知识,但是我怎么用不了 BeanFactory?

图片说明

我怀疑是我的包没有导全, 但是我却不知道这个 BeanFactory 类应该是哪个包下。下面是我已导的包。

图片说明

创建的是一个 java 项目, 主要是想学习下不用 new 的方式得到对象, 而是通过 BeanFactory的 .getBean 方法获取.xml 中配置的对象。但是现在遇到问题了, 麻烦各路大神帮忙看看。

0

1个回答

BeanFactory是抽象类,不能直接实例化

你可以用 new XmlBeanFactory(...)

0
u012976158
强化脑细胞 简洁明了
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Spring源码分析之仿BeanFactory原理实现
参考某个大神的分解Spring源码,具体的github地址给忘记了。后续补上 加入我自己的理解,如果让你写Spring的BeanFacotory,你是否也会想到这么写? Step1:          我们知道,spring就是一个大容器(工厂),里面放置了spring初始化的bean,我们需要需要获得该bean时,直接从spring容器中取就OK了。所以,我们大致描述为: BeanD...
自定义BeanFactory动态工厂
​ package com.pojo; import java.util.Map; public class Bean { //根据反射来设计Bean类 private String id;//bean的id private String className;//全类名 private Map<String,Object> pro...
掌握Spring中的beanfactory与factorybean有什么好处?
前言   如果说Spring最核心的东西是什么,那就非Beans组件莫属了,Bean对于Spring的意义就象OOP对于Java的意义一样。   今天要讲的是Spring中的 BeanFactory与FactoryBean的区别以及具体使用。 1. BeanFactory   BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管...
BeanFactory工厂类的介绍
1.工厂类的演变 在早期开发中,我们的开发人员写代码都是直接new对象,然后只要项目一座大,只要一改需求,也许程序员就会疯掉,因为换一个类需要改类的名称,方法等等,浪费了不必要浪费的时间后来,程序要渐渐的开始使用接口,也就是多态的运用,从那以后,改代码只需要改new的对象就行,大大减少了代码量,可是仍然需要改代码在后来,程序员开始使用使用初级工厂类这种方式可以避免修改类,如果需要添加或删除一个类,
工厂模式模拟Spring的bean加载过程
Spring工厂模式 1 工厂接口 2 工厂实现 3 模拟Spring中bean的配置
Spring Bean工厂继承关系和源码分析
Bean工厂继承关系图 BeanFactory
Spring初探之手写实现简单的beanFactory
手写简单的beanFactory主要分两步: 1、定义bean对象,对应Spring中的< bean >标签; 2、创建BeanFactory,根据 BeanFactory 来获取实例对象; bean定义对象: package com.lks.util; /** * Created by likaisong on 2019/3/3. */ public class BeanDef...
IOC容器的设计(一) — BeanFactory 的应用场景
IOC容器的设计(一) — BeanFactory 的应用场景 BeanFactory提供了最基本的IoC容器的基本功能,是提供了所有IoC容器所要遵守的基本服务契约,是IoC容器遵守的最底层和最基本的编程规范。BeanFactory只是一个基本接口,没有任何实现,具体实现是有DefaultListBeanFactory,XmlBeanFactory、ApplicationContext等等,这...
spring 通过工厂方法配置Bean 和 通过FactoryBean创建Bean
                                通过FactoryBean创建bean          
Spring源码学习--BeanFactory对象实例化工厂(一)
BeanFactory及其子类是Spring IOC容器中最重要的一个类,BeanFactory由类名可以看出其是一个Bean工厂类,其实它确实是一个Bean工厂类,完成Bean的初始化操作。Bean的初始化操作还是一个比较麻烦的操作,首先根据spring注入配置将bean初始化为单例或者原型,其次需要根据Bean的属性配置来完成Bean参数的注入配置,还有要解决单例模式下Bean的循环依赖的问题
Spring ——Bean工厂(BeanFactory)和应用上下文(ApplicationContext)装载Bean的区别,已经bean的作用域
除了附加功能外。两者的重要区别是关于单例bean如何被加载。 bean工厂延迟加载所以bean,直到getBean()方法被调用的时候才会创建bean的实例对象。 ApplicationContext在启动后预载入所有单例bean,需要的时候直接getBean()取出即可,这样可以确保应用不需要等待他们被创建。   注:1. bean工厂的new XmlBeanFactory在spring...
2.2 Spring boot 配置分析 - 通过工厂方式注入bean
本章主要写的是 Spring5 通过实现FactoryBean 的方式 来注入Bean 。 初始条件: 1. Java version : 1.8 2. maven vesion: 1.3.9快速链接: 2.1 Spring5 快速入门 第一步:创建一个简单结构(quickstart)的 Maven 工程 第二步:将 Spring5 的依赖加入项目的 POM 文件中: <de
spring详解:通过FactoryBean自定义工厂初始化Bean
FactoryBean是一个接口,扩展功能提供给用户自定义工厂方法和工厂对象用于实例化对象。
通过BeanFactory实现创建对象
说明:           其作用是减少层与层之间的依赖。 实现步骤:         编写2个类(Student,Teacher)再编写beans.properties文件,接着编写BeanFactory类,最后编写测试类BeanTest,参考代码如下: /** *beans.properties文件的内容(位于与src平级的config资源包下) */ Student=com.x...
spring中FactoryBean工厂模式使用
一、简介 FactoryBean是spring中工厂模式的实现,可以通过配置创建不同的对象。 通常可用在基于不同配置产生不同对象场景中,如数据库连接(线上、测试环境连接参数不一样)。二、FactoryBean&amp;lt;T&amp;gt;源码 package org.springframework.beans.factory; import org.springframework.lang.Nullab...
spring注解版 使用FactoryBean(工厂Bean)注册组件
一般在容器中注册组件都使用@Bean或者之前讲的@Import,当然还有包扫描+组件标注注解的方法。今天学了一个工厂Bean的方式注册组件,正好也在学设计模式,研究研究 玩FactoryBean需要搞一个类去实现它,老规矩,类名MyFactoryBean import org.springframework.beans.factory.FactoryBean; import test.sp...
Spring 工厂方法与FactoryBean(实例化Bean)
该篇博客关于工厂方法与FactoryBean,其实就是在Spring中不再使用Spring创建Bean实例,而是利用工厂方法与FactoryBean把Bean创建过程转移到开发者手中 该篇博客目录 1、理解工厂方法和FactoryBean是干什么的 2、静态工厂方法实例化Bean 3、工厂方法实例化Bean 4、FactoryBean实例化Bean(工厂Bea...
Spring4 解决一个项目创建多个Spring工厂
使用Spring核心监听器ContextLoaderListener解决创建多个工厂,在服务器启动时创建一个Spring工厂,然后存储到ServletContext中,每次取出使用即可 1 引入spring-web.jar 2 配置监听器 &lt;!-- 配置Spring监听器--&gt; &lt;listener&gt; &lt;listener-class&gt; o...
xml配置文件中factory-bean与factory-method(spring使用工厂方法注入bean)
本文是BeanFactory.getBean()的子文章,用来世界史factory-bean和factory-method的使用工厂方式注入,直接上代码; public class UserFactory { //非静态方法 public User createUser(){ User user = new User(); user.setName("B...
spring 3.0 注解
从网上看了,再自己做下,其实spring 3.0  注解  很简单 步骤如下: 1. 主配置文件applicationContext-common.xml  中添加红色部分 xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
从应用上下文获取bean和从bean工厂获取bean
ApplicationContext ac = new ClassPathXmlApplicationContext(“com/java/ioc/beans.xml”); 当我们去实例化beans.xml,该文件中配置的bean被实例化(bean 的scope是singleton) 即:如果scope范围是单例,不管你用不用该bean,只要执行上述语句就实例化该xml文件的bean,相应对象...
FactoryBean的实现原理与作用
本文通过简单描述FactoryBean与Beanfactory的区别,通过IOC源码中对该类型的Bean的解析讲解其原理,并附上小案例帮助大家理解FactoryBean的核心方法。
菜鸟的成长之路——spring的HelloWorld
我们上节课提到,spring会把对象控制权交给容器,容器创建了一个又一个的对象,通过DI呢,又确定了各个对象之间的关系。但是你们会不会好奇,spring是怎么把容器里的对象给到我们的呢?今天我们就来聊一聊spring的应用上下文。
Java面试题设计模式篇spring中抽象工厂模式
Spring部分源码 先给出spring中常用的一段代码,典型的工厂模式: import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class App { public ...
理解spring中的BeanFactory和FactoryBean的区别与联系
首先,这俩都是个接口…实现 BeanFactory 接口的类表明此类事一个工厂,作用就是配置、新建、管理 各种Bean。而 实现 FactoryBean 的类表明此类也是一个Bean,类型为工厂Bean(Spring中共有两种bean,一种为普通bean,另一种则为工厂bean)。顾名思义,它也是用来管理Bean的,而它本身由spring管理。一个Bean想要实现 FactoryBean ,必须实现
使用spring工厂方法(FactoryBean)模式动态创建bean
自定义复杂bean注册到springA依赖B, B依赖C,A和C是有spring创建,而B要自己去创建,并且像B的有很多,比如B的调用实际是一个RPC在什么时机去装机B并能让spring找到这个依赖呢?spring的FactoryBean就可以解决(不是BeanFactory)下面以 Retrofit 为例简单说明,类B的bean都是由retrofit创建(动态代理)先声明一个 FactoryBea
总结Spring中工厂后处理器
工厂处理器是一种特殊的Bean,这种Bean并不对外提供服务,它甚至可以无需id属性,它主要负责对容器本身进行某些特殊的处理。Spring中有两类工厂后处理器,一个是BeanFactoryPostProcessor,它是所有工厂后处理器的顶层接口;另一个是BeanDefinitionRegistryPostProcessor,它继承自BeanFactoryPostProcessor,设计它的目的是使
beanutil的jar包打包
beanutils的jar包打包,包括commons-beanutils-1.9.3、commons-collections4-4.2、commons-logging-1.2
Spring中通过工厂获取bean简单实现
Spring中通过工厂获取bean项目背景创建一个web项目导入jar包 项目背景 主要是为了学习Spring的使用,同时也能了解下工厂模式 创建一个web项目 使用idea创建一个web项目,具体过程就不赘述了 导入jar包 ...
dubbo和spring的BeanFactory有冲突吗???
BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContextweb.xml配置spring-mvc.xml配置解决方法提问,望大佬解决 这几天在接触dubbo,建了一个SpringMvc+maven+dubbo的工程。在测试启动消费端的...
SpringBoot注解扩展篇(2)-BeanFactory的前置处理
继续接着讲prepareBeanFactory()的流程,这一步的主要作用是BeanFactory的预准备工作,也就是对BeanFactory进行一些初始化后的设置; 进入这个方法的实现之前,我们来看下方法上面的注释,Configure the factory's standard context characteristics, such as t...
18.工厂模式讲解以及DAOFactory开发
本文为《Spark大型电商项目实战》 系列文章之一,主要介绍工厂模式和DAOFactory开发,并进行测试。
实例化Bean的方法(基于xml配置)
Spring IoC容器 根据基于xml的配置元数据(configuration metadata),使用反射机制来创建Bean的实例。 创建的方法有三种: 1. 通过构造器 1.1 使用空构造器进行定义。类中必须有空构造器(可以是默认的) 空构造器中没有传入参数,bean的配置只需要一个定义名就可以了。   例子: 接口HelloApi.java pa
高效学习(三)面对枯燥和量大的知识
如何面对枯燥的知识 如果你发现有些知识太过于枯燥,那么可以通过下面的方法解决。 (一)这个知识对于你来说来太高级了,你可能不知道能用在什么地方。 (二)人的认知是从感性认识向理性认识转化的,所以,你可能要先去找一下应用场景,学点更实用的,再回来学理论。 (三)学习需要有反馈,有成就感,带着相关问题去学习会更好。 (四)当然,找到牛人来给你讲解,也是不错的手段 如何面对大量的知识 (一)我给你的...
回忆起大学有用的课程,大学学的知识,从来都是有用的,要不然怎么会开设呢?
https://docs.oracle.com/cd/A97335_02/apps.102/a81358/05_dev1.htm 公司准备重构CRM系统,系统是前辈开发的,已经走了。我是大白,现在要接收光是理数据表结构感觉都头大。要吐槽的一点是没有数据库设计文档…… 老衲脑袋灵光一闪,大学的时候老师可是教过数据库设计与实践的课程啊,虽有没有很科学地设计和实践过,但是用到的方法还是很...
一个人学习真的太累了,但是还得熬,总结之后继续go
上上周老师给了4-5整天时间来做俩个小学习项目,project1是跟着老师的指导来完成的,每天半天时间来指导我们做project1,剩下的时间完成project2,project2大体俩个版块(用户版块+新闻版块) project1跟着老师指导的节奏,我把其他时间都给了project2,因为project2是需要自己个人完成的,上一个阶段学习的java se基础、xml、oracle、jdb
spring核心类库 取出spring bean工厂
    ApplicationContext和BeanFacotry区别: ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性 没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身是 检      验,这样...
java学习(基础知识,适合学过c/c++的)
java简单数据操作java支持double类型取模double a = 5.6; double b = 11.8; double c = b % a; System.out.println(c);输出 0.6java支持double类型自加自减double a = 1.5; a++; System.out.println(a);输出2.5比较运算符 != 和== 两个引用之间的比较,比较的是指向
activiti源码-1-spring配置引擎初始化
activiti与spring合用,配置文件可配置如下:    &amp;lt;!-- Activiti引擎配置 --&amp;gt;    &amp;lt;bean id=&quot;processEngineConfiguration&quot; class=&quot;org.activiti.spring.SpringProcessEngineConfiguration&quot;&amp;gt;        &amp;lt;property name=&quot;proce...
方法引用
方法引用 一、方法引用基本介绍 @FunctionalInterface public interface Printable { //定义字符串的抽象方法 void print(String s); } public class Demo01Printable { //定义一个方法,参数传递Printable接口,对字符串进行打印 public static ...