企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
创建文件 `/Code/z8g/ioc/src/main/java/net/zhaoxuyang/ioc/bean/Bean.java` ,内容为: ```java package net.zhaoxuyang.ioc.bean; public class BeanDefinition { private Object bean; public BeanDefinition(Object bean) { this.bean = bean; } public Object getBean() { return bean; } } ``` 创建文件 `/Code/z8g/ioc/src/main/java/net/zhaoxuyang/ioc/bean/BeanFactory.java` ,内容为: ```java package net.zhaoxuyang.ioc.bean; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class BeanFactory { private Map<String, BeanDefinition> beanDefinitionMap; public BeanFactory() { this.beanDefinitionMap = new ConcurrentHashMap<>(16); } public Object getBean(String name) { return beanDefinitionMap.get(name).getBean(); } public void registerBeanDefinition(String name, BeanDefinition beanDefinition) { beanDefinitionMap.put(name, beanDefinition); } } ``` 创建测试类 `/Code/z8g/ioc/src/test/java/net/zhaoxuyang/ioc/bean/BeanFactoryTest.java` ,内容为: ```java package net.zhaoxuyang.ioc.bean; import java.util.LinkedList; import java.util.List; import org.junit.Test; public class BeanFactoryTest { @Test public void testGetBean() { // [1] 初始化beanFactory BeanFactory beanFactory = new BeanFactory(); // [2] 注入bean List<String> dataList = new LinkedList<>(); dataList.add("A"); dataList.add("B"); BeanDefinition beanDefinition = new BeanDefinition(dataList); beanFactory.registerBeanDefinition("dataList", beanDefinition); // [3] 获取bean List list = (List) beanFactory.getBean("dataList"); System.out.println(list); } } ``` 在终端执行以下命令: ```shell $ pwd # 显示当前目录 /Code/z8g/ioc $ git add pom.xml src # 将pom.xml和src文件夹添加到git暂存区 $ git commit -m 'ioc-step-01-container-register-and-get' # 提交到git仓库 [master(根提交) 765af9d] ioc-step-01-container-register-and-get 4 files changed, 86 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/net/zhaoxuyang/ioc/bean/BeanDefinition.java create mode 100644 src/main/java/net/zhaoxuyang/ioc/bean/BeanFactory.java create mode 100644 src/test/java/net/zhaoxuyang/ioc/bean/BeanFactoryTest.java $ git checkout -b 01 # 检出新分支 切换到一个新分支 '01' ```