From d03e8b19d346563afec5fb2b6b9c9dcea68040e0 Mon Sep 17 00:00:00 2001 From: Alexander Alexeev Date: Mon, 14 Nov 2016 15:56:32 +0700 Subject: jdbc services --- .../java/com/juick/service/BaseJdbcService.java | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 server-core/src/main/java/com/juick/service/BaseJdbcService.java (limited to 'server-core/src/main/java/com/juick/service/BaseJdbcService.java') diff --git a/server-core/src/main/java/com/juick/service/BaseJdbcService.java b/server-core/src/main/java/com/juick/service/BaseJdbcService.java new file mode 100644 index 00000000..2f5669f5 --- /dev/null +++ b/server-core/src/main/java/com/juick/service/BaseJdbcService.java @@ -0,0 +1,55 @@ +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.transaction.PlatformTransactionManager; +import org.springframework.transaction.support.TransactionTemplate; +import org.springframework.util.Assert; + +import javax.inject.Inject; + +/** + * Created by aalexeev on 11/13/16. + */ +public abstract class BaseJdbcService implements InitializingBean { + protected final Logger logger = LoggerFactory.getLogger(getClass()); + + private JdbcTemplate jdbcTemplate; + private TransactionTemplate transactionTemplate; + private NamedParameterJdbcTemplate namedParameterJdbcTemplate; + + protected JdbcTemplate getJdbcTemplate() { + return jdbcTemplate; + } + + protected NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() { + return namedParameterJdbcTemplate; + } + + protected TransactionTemplate getTransactionTemplate() { + return transactionTemplate; + } + + @Override + public void afterPropertiesSet() throws Exception { + logger.debug("Checking required beans"); + + Assert.notNull(jdbcTemplate); + Assert.notNull(namedParameterJdbcTemplate); + Assert.notNull(transactionTemplate); + } + + @Inject + public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); + } + + @Inject + public void setTransactionManager(PlatformTransactionManager transactionManager) { + transactionTemplate = new TransactionTemplate(transactionManager); + } +} -- cgit v1.2.3