昆明网站建设论坛,精品网站建设比较好,代理推广平台,建设百度网站多少钱一.单例模式
单例#xff1a;[启动容器]---通过构造方法#xff08;创建对象#xff09;----调用set方法#xff08;注入#xff09;---调用init方法#xff08;初始化#xff09;----[容器关闭]-----调用destroy方法#xff08;销毁#xff09; app…一.单例模式
单例[启动容器]---通过构造方法创建对象----调用set方法注入---调用init方法初始化----[容器关闭]-----调用destroy方法销毁 applicationContext.xml: bean iduserService classcom.by.service.UserServiceImplscopesingleton init-methodinit destroy-methoddestroy UserServiceImpl /*** 业务层实现类*/
public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(调用构造方法创建bean...);}public void setUserDao(UserDao userDao) {System.out.println(调用set方法注入值...);this.userDao userDao;}public void init(){System.out.println(调用init方法初始化bean...);}public void destroy(){System.out.println(调用destroy方法销毁bean...);}public void addUser(){userDao.addUser();}
} 测试 public static void main(String[] args) {ClassPathXmlApplicationContext ac new ClassPathXmlApplicationContext(applicationContext.xml);//关闭容器ac.close();} 结果 二.多例bean
多例[使用时getBean]---通过构造方法创建对象----调用set方法注入---调用init方法初始化----[jvm垃圾回收]-----调用destroy方法销毁 applicationContext.xml: bean iduserService classcom.by.service.UserServiceImplscopeprototype init-methodinit destroy-methoddestroy UserServiceImpl: public class UserServiceImpl implements UserService {private UserDao userDao;public UserServiceImpl() {System.out.println(调用构造方法创建bean...);}public void setUserDao(UserDao userDao) {System.out.println(调用set方法注入值...);this.userDao userDao;}public void init(){System.out.println(调用init方法初始化bean...);}public void destroy(){System.out.println(调用destroy方法销毁bean...);}public void addUser(){userDao.addUser();}
} 测试 public static void main(String[] args) {ClassPathXmlApplicationContext ac new ClassPathXmlApplicationContext(applicationContext.xml);//使用对象ac.getBean(userService);} 结果