public class ApplicationContext { private HashMap<Class,Object> beanFactory= new HashMap<>(); public Object getBean(Class clazz){ return beanFactory.get(clazz); } public void initContext() throws Exception { beanFactory.put(UserDaoImpl.class,Class.forName("com.example.demo.dao.impl.UserDaoImpl").newInstance()); } } public class Demo1Application { public static void main(String[] args) throws Exception { ApplicationContext applicationContext = new ApplicationContext(); applicationContext.initContext(); System.out.println(applicationContext.getBean(UserDaoImpl.class)); } }