Service接口继承IService< T>接口,然后实现类去继承ServiceImpl<操作实体的Mapper接口,具体实体类>,最后添加注解@Service将该类作为Spring容器下的Bean。
public class ServiceImpl, T> implements IService { protected Log log = LogFactory.getLog(this.getClass()); @Autowired protected M baseMapper; protected Class> entityClass = this.currentModelClass(); public ServiceImpl() { } }
1. 这里有两个泛型约束,第一个M是实体Dao(interface),第二个T是操作的实体类Entity
2. 这里在代码中可以看出,有一个已经注入的 protected M baseMapper; 所有你自己写的XXXServiceImpl只要继承了这个原生的ServiceImpl,这个M实体Dao就已经注入了进来,不需要自己重新注入!
以下自己实现:
public interface AreaService extends IService{ }
@Service public class AreaServiceImpl extends ServiceImplimplements AreaService { @Autowired private MoveItemDao moveItemDao; @Autowired private BalanItemDao balanItemDao; }
@Repository public interface BalanItemDao extends baseMapper{ }
@Data
public class BalanItem implements Serializable {
}
参考:
MyBatis-Plus的通用service
MybatisPlus中的原生Service实现类ServiceIml基本使用



