From 32a6feb195171e06d60117ad758cc8beb50e5ca3 Mon Sep 17 00:00:00 2001 From: Alexander Alexeev Date: Tue, 15 Nov 2016 00:03:59 +0700 Subject: Constructor injectection for service layer --- .../java/com/juick/service/BaseJdbcService.java | 52 +++++++++++----------- 1 file changed, 26 insertions(+), 26 deletions(-) (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 index 2f5669f5..fe544efe 100644 --- a/server-core/src/main/java/com/juick/service/BaseJdbcService.java +++ b/server-core/src/main/java/com/juick/service/BaseJdbcService.java @@ -2,24 +2,44 @@ 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; +import javax.sql.DataSource; /** * Created by aalexeev on 11/13/16. */ -public abstract class BaseJdbcService implements InitializingBean { +public abstract class BaseJdbcService { protected final Logger logger = LoggerFactory.getLogger(getClass()); - private JdbcTemplate jdbcTemplate; - private TransactionTemplate transactionTemplate; - private NamedParameterJdbcTemplate namedParameterJdbcTemplate; + private final JdbcTemplate jdbcTemplate; + private final TransactionTemplate transactionTemplate; + private final NamedParameterJdbcTemplate namedParameterJdbcTemplate; + + + protected BaseJdbcService(JdbcTemplate jdbcTemplate, PlatformTransactionManager transactionManager) { + Assert.notNull(jdbcTemplate); + + this.jdbcTemplate = jdbcTemplate; + this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); + this.transactionTemplate = (transactionManager == null) ? + null : new TransactionTemplate(transactionManager); + + } + + protected BaseJdbcService(DataSource dataSource, PlatformTransactionManager transactionManager) { + Assert.notNull(dataSource); + + this.jdbcTemplate = new JdbcTemplate(dataSource); + this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); + this.transactionTemplate = (transactionManager == null) ? + null : new TransactionTemplate(transactionManager); + + } protected JdbcTemplate getJdbcTemplate() { return jdbcTemplate; @@ -32,24 +52,4 @@ public abstract class BaseJdbcService implements InitializingBean { 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