Как автоматически связать объект источника данных в классе daoImpl (@Autowired), используя обычный проект быстрого запуска Spring Maven - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь автоматически связать объект источника данных в классе daoImpl и использую @Component в классе daoImple.Получаю ошибку Caused by: java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required

В классе DaoImpl

public class MedicineDaoImpl extends JdbcDaoSupport{

    @Autowired
    private DataSource dataSource;


    public MedicineDaoImpl() {
        // TODO Auto-generated constructor stub
    }

     public void insert(Medicine med){

         String sql = "INSERT INTO Medicine VALUES (?, ?, ?,?)";
         getJdbcTemplate().update(sql,new Object[] {med.getmId(),med.getMedicineName(),med.getQuantity(),med.getPrice()});



    }
}```    In main method                                                                   

 ```public static void main( String[] args )
    {
        ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        MedicineDaoImpl md=(MedicineDaoImpl)context.getBean("MedicineDaoImpl");
        md.insert(new Medicine(1003,"dolo",33,56.76f));
        System.out.println("done");
    }```                                                                     

Am getting the below error                                               
                                                                         Caused by: java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required
    at org.springframework.jdbc.core.support.JdbcDaoSupport.checkDaoConfig(JdbcDaoSupport.java:112)
    at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
...