Как сделать @Autowired (внедрить) из XML. Не удалось автопровода. Не найдено бобов типа DAO - PullRequest
0 голосов
/ 02 ноября 2019

My beans.xml

<bean id = "DAO" class = "com.price.compare.service.DAO" scope="singleton" init-method="init">
    <constructor-arg index="0" type = "java.lang.String" value="localhost"/>
    <constructor-arg index="1" type = "java.lang.String" value="5432"/>
    ..
</bean>

Контроллер Java

@Controller
@RequestMapping(value = "/addproduct")
public class NewProductController {
   @Autowired
   private DAO database;  
   ...

Класс DAO

public class DAO {
private final String host;
private final String port;
private final String user;
private final String password;

private Connection connection;

public DAO(String host, String port, String user, String password) {
    this.host = host;
    this.port = port;
    this.user = user;
    this.password = password;
}


public void init() {
    connection = connect();
    if(testSelection()) {
        System.out.println("Connection to db successfully established");
    }
}

@ Автономная частная база данных DAO;<--- выдает сообщение «Не удалось автоматически подключить. Не найдены bean-компоненты типа DAO». </p>

1 Ответ

0 голосов
/ 02 ноября 2019

Вы должны добавить <context:component-scan base-package="packageName"/> в beans.xml, где packageName - это пакет DAO

...