【spring框架】FactoryBean
2023-09-11 14:20:52 时间
Phone.class
public class Phone {
private String brand;
private String color;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@Override
public String toString() {
return "Phone [brand=" + brand + ", color=" + color + "]";
}
}
PhoneFactory.java
import org.springframework.beans.factory.FactoryBean;
public class PhoneFactory implements FactoryBean<Phone>{
@Override
public Phone getObject() throws Exception {
Phone phone=new Phone();
phone.setBrand("华为");
phone.setColor("玫瑰金");
return phone;
}
@Override
public Class<?> getObjectType() {
return Phone.class;
}
@Override
public boolean isSingleton() {
return false;
}
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="phoneFactory" class="com.test.PhoneFactory">
</bean>
</beans>
Test.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
Phone phone=ac.getBean("phoneFactory",Phone.class);
System.out.println(phone);
}
}
运行结果:
Phone [brand=华为, color=玫瑰金]
相关文章
- Spring Batch 批处理框架
- spring boot使用拦截器修改请求URL域名 换 IP 访问
- Eclipse依赖spring-boot-configuration-processor,编写properties和yml没有提示
- 从观察者模式谈论 : Spring Boot中创建、发布和侦听自定义事件
- 《Spring 5 官方文档》18. Web MVC 框架(三)
- Spring Boot修改内置Tomcat端口号
- Spring Resource框架体系介绍
- Spring框架的XML扩展特性
- 关于Spring中的<context:annotation-config/>配置
- 深入剖析 Spring 框架的 BeanFactory
- spring+mybatis 框架搭建
- spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务
- 服务注册发现、配置中心集一体的 Spring Cloud Consul
- spring框架漏洞整理(Spring Boot Actuator相关漏洞)
- 【SSM直击大厂】第三章:Spring配置数据源及注解开发
- Spring_Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring对事务的支持及数据库事务
- Spring之AOP
- 【spring框架】bean的自动装配
- 【MyBatis】整合spring、springMVC、MyBatis框架
- Spring框架下的单元测试方法
- 曹工杂谈:Linux服务器上,Spring Boot 原地修改 jar 包配置文件/替换class文件,免去重复上传的麻烦
- Spring模块组成(框架组成、整体架构、体系架构、体系结构)
- spring Security框架简介一
- No cached version of org.springframework.boot:spring-boot-gradle-plugin:1.5.10.RELEASE available for offline mode.
- spring,配置文件applictionContext.xml,Mybatis mybatis.xml,springMVC spring整合springMVC mybatis
- Spring AOP 和 动态代理