aboutsummaryrefslogtreecommitdiff
path: root/server-core/src/main/java/com/juick/service/BaseJdbcService.java
diff options
context:
space:
mode:
Diffstat (limited to 'server-core/src/main/java/com/juick/service/BaseJdbcService.java')
-rw-r--r--server-core/src/main/java/com/juick/service/BaseJdbcService.java55
1 files changed, 55 insertions, 0 deletions
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);
+ }
+}