Я разрабатываю веб-проект java с использованием Spring
и Mybatis
.
На уровне dao я определил суперкласс и супер интерфейс, который реализовал все распространенные методы.
Таким образом, при создании подкласса или интерфейса для конкретной модели на уровне dao мне нужно только реализовать класс и интерфейс super dao и оставить тело класса и интерфейс пустым.
Более половины класса и интерфейса уровня sub dao пуст все время.
(Пример пустого класса dao и интерфейса:)
RoleDao.java
package core.dao;
import core.dao.base.BaseDao;
import core.model.Role;
public interface RoleDao extends BaseDao<Role> {
}
RoleDaoImpl.java
package core.dao.impl;
import org.springframework.stereotype.Repository;
import core.dao.RoleDao;
import core.dao.base.BaseDaoImpl;
import core.model.Role;
@Repository
public class RoleDaoImpl extends BaseDaoImpl<Role> implements RoleDao {
}
Мой вопрос:
Есть ли хороший способ избежать написания этих пустых классов и интерфейса, хотя они могут их использовать?
Я собираюсь использовать Code generator
для создания этого файла класса или использовать Java reflection
для создания такого класса и интерфейса во время выполнения по мере необходимости, но пока не вдаваться в подробности.
@ Обновление
Кажется, нелегко достичь цели без создания исходного кода, поэтому я решил написать простой генератор исходного кода java для веб-проекта java.
И инструмент под названием codemodel
очень подходит для этого, он разработан Sun и теперь принадлежит Oracle, я думаю.
И я дал ответ сам с кодом, который я написал, чтобы генерировать исходный код Java.