[源码系列:手写spring] IOC第一节:简单bean容器
本专栏带领大家手写一遍spring的核心代码,包括IOC,AOP,三级缓存...
第一节较为简单,后面的章节会逐渐提升代码量和复杂度,喜欢的同学记得订阅哦  ̄▽ ̄
定义一个简单的bean容器BeanFactory,内部包含一个map用以保存bean,包含注册bean和获取bean两个方法
BeanFactory
public class BeanFactory {
private Map<String,Object> beanContext = new HashMap<>();
public Object getBean(String name){
return beanContext.get(name);
}
/**
* 所谓注册bean,就是将bean放入容器
* @param name
* @param bean
*/
public void registerBean(String name,Object bean){
beanContext.put(name,bean);
}
}
测试
public class SimpleBeanContainerTest {
@Test
public void test() {
BeanFactory beanFactory = new BeanFactory();
beanFactory.registerBean("userService", new UserService());
UserService userService = (UserService)beanFactory.getBean("userService") ;
userService.sayHello();
}
class UserService{
public void sayHello(){
System.out.println("helloWord");
}
}
}
测试结果
helloWord
Process finished with exit code 0

浙公网安备 33010602011771号