SpringBoot HikariCP の コンフィグレーション

以下を書いたが、、
oboe2uran.hatenablog.com

HikariCP を意識すると、、

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import com.zaxxer.hikari.HikariDataSource;
import lombok.Data;
/**
 * HikariDataSource として読み込む
 */
@Component
@ConfigurationProperties(prefix = "spring")
@Data
public class DatasourcePropertiesReader{
   private HikariDataSource datasource;
}

これを使用する形で、、

@Configuration
@MapperScan(basePackages = { "aaa.bbb.ccc" })
@Data
@Slf4j
public class DataBaseConfiguration{
   @Autowired 
   private DatasourcePropertiesReader datasourcePropertiesReader;

   @Bean
   public DatasourcePropertiesReader getDataSourcePropertiesReader() {
      return datasourcePropertiesReader;
   }

   @Bean
   public SqlSessionFactory getSqlSessionFactory() {
      try{
         SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
         HikariDataSource dataSource = getDataSourcePropertiesReader().getDatasource();
         bean.setDataSource(dataSource);
         SqlSessionFactory factory = bean.getObject();
         factory.getConfiguration().setMapUnderscoreToCamelCase(true);
         return factory;
      }catch(Exception e){
         log.error(e.getMessage(), e);
      }
      return null;
   }
}