beanfactory.java

来自「针对网络跑步爱好者作为用户而开发的」· Java 代码 · 共 70 行

JAVA
70
字号
package com.briup.run.common.util;

import com.briup.run.dao.IMemberDao;
import com.briup.run.dao.IMessengerDao;
import com.briup.run.dao.impl.MemberDaoImpl;
import com.briup.run.dao.impl.MessengerDaoImpl;
import com.briup.run.service.IMemberService;
import com.briup.run.service.IMessengerService;
import com.briup.run.service.impl.MemberServiceImpl;
import com.briup.run.service.impl.MessengerServiceImpl;

public class BeanFactory {
	public static String MEMBERDAO = "memberDao";
	public static String MEMBERSERVICE = "memberService";
	public static String MESSENGERDAO = "messengerDao";
	public static String MESSENGERSERVICE = "messengerService";
	
	private static IMemberDao memberDao;

	private static IMemberService memberService;

	private static IMessengerDao messengerDao;

	private static IMessengerService messengerService;

	public static Object getBean(String beanName) {
		if (beanName.equals("memberDao")) {
			memberDao = getMemberDao();
			return memberDao;
		}
		if (beanName.equals("memberService")) {
			memberService = getMemberService();
			return memberService;
		}
		if (beanName.equals("messengerDao")) {
			messengerDao = getMessengerDao();
			return messengerDao;
		}
		if (beanName.equals("messengerService")) {
			messengerService = getMessengerService();
			return messengerService;
		}
		return null;
	}

	synchronized private static IMemberDao getMemberDao() {
		if (memberDao == null)
			memberDao = new MemberDaoImpl();
		return memberDao;
	}

	synchronized private static IMemberService getMemberService() {
		if (memberService == null)
			memberService = new MemberServiceImpl();
		return memberService;
	}

	synchronized private static IMessengerDao getMessengerDao() {
		if (messengerDao == null)
			messengerDao = new MessengerDaoImpl();
		return messengerDao;
	}

	synchronized private static IMessengerService getMessengerService() {
		if (messengerService == null)
			messengerService = new MessengerServiceImpl();
		return messengerService;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?