All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.beetl.sql.ext.spring.BeetlSqlMapperFactoryBean Maven / Gradle / Ivy

package org.beetl.sql.ext.spring;

import org.beetl.sql.core.SQLManager;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.dao.support.DaoSupport;

import static org.springframework.util.Assert.notNull;

/**
 * BeetlSql对工厂Bean的实现用于构建Mapper,一次只对一个接口进行扫描,构建Mapper
 * @param 
 * @author woate
 */
public class BeetlSqlMapperFactoryBean extends DaoSupport implements FactoryBean {
	private Class mapperInterface;
	SQLManager sqlManager;
	public BeetlSqlMapperFactoryBean(Class mapperInterface) {
		this.mapperInterface = mapperInterface;
	}
	public BeetlSqlMapperFactoryBean() {
	}

	@Override
	protected void checkDaoConfig() throws IllegalArgumentException {
		notNull(this.mapperInterface, " 'mapperInterface' 属性是必须的");
	}

	@Override
	public T getObject() throws Exception {
		return this.sqlManager.getMapper(mapperInterface);
	}

	@Override
	public Class getObjectType() {
		return this.mapperInterface;
	}

	@Override
	public boolean isSingleton() {
		return true;
	}

	//在扫描时会注入该属性
	public void setMapperInterface(Class mapperInterface) {
		this.mapperInterface = mapperInterface;
	}

	public SQLManager getSqlManager() {
		return sqlManager;
	}

	public void setSqlManager(SQLManager sqlManager) {
		this.sqlManager = sqlManager;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy