package com.juick.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.util.Assert; import javax.inject.Inject; /** * Created by aalexeev on 11/13/16. */ public class BaseJdbcDao implements InitializingBean { protected final Logger logger = LoggerFactory.getLogger(getClass()); private JdbcTemplate jdbcTemplate; private NamedParameterJdbcTemplate namedParameterJdbcTemplate; protected JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } protected NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() { return namedParameterJdbcTemplate; } @Override public void afterPropertiesSet() throws Exception { logger.debug("Checking required beans"); Assert.notNull(jdbcTemplate); Assert.notNull(namedParameterJdbcTemplate); } @Inject public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); } }