Весенние документы говорят, что в настоящее время интерфейс DI невозможен. См. Здесь: http://www.springbyexample.org/examples/core-concepts-dependency-injection-to-the-rescue.htmlSpring Boot, DI возможно использование интерфейса, но не возможно весной?
Я только начал работать с Spring boot, и я сделал простой webapp, где использовал DI с использованием интерфейсов. Я не могу найти причину в Интернете. Почему Spring Boot имеет эту функцию, а Spring не имеет!
Пожалуйста, помогите мне в понимании концепции.
Спасибо.
Редактировать
Dao реали.
@Repository
public class AbcDaoImpl implements AbcDaoInt{
@Autowired
JdbcTemplate jdbc;
@Override
public int selectABC(String user, String password){
// some db query
}
Dao Интерфейс
@Component
public interface AbcDaoInt{
int selectABC(String user, String password);
}
Сервис
@Service
public class adapter {
@Autowired
AbcDaoInt abcDao;
public Map<String, Object> abc(String user, String password) {
try{
int abcId = abcDao.selectABC(user, pwd);
}
}
Связанная с вами страница устарела, только частично исправлена и вообще не определяет, что означает «инъекция интерфейса». Вы тоже этого не говорите. Spring Boot использует Spring для инъекций зависимостей, поэтому вопрос спорный. –
@RishiPandey не могли бы вы показать нам какой-то код. Вы не можете выполнить инъекцию интерфейса, так как вам нужна конкретная реализация. Возможно, вы сбиваете с толку, скажем, интерфейс интерфейса Autowire Interface, где интерфейс - это какой-то интерфейс, но весна будет автонастраивать конкретную реализацию его. – pezetem
@JBНаписать, что я хотел бы указать со связанной страницы, на которой Spring имеет в настоящее время настройку и зависимость от конструктора. И я знаю, что Spring boot использует Spring для DI. Может быть, я не понимаю концепцию, но мой вопрос действительно. – RishiPandey