2222@ EnableTransactionManagement
2323public class PoolingDatabaseConfig {
2424
25- @ Value ("${database.driver-class-name}" ) String driverName ;
26- @ Value ("${database.url}" ) String url ;
27- @ Value ("${database.username}" ) String username ;
28- @ Value ("${database.password}" ) String password ;
29- @ Value ("${cp.maxTotal}" ) int maxTotal ;
30- @ Value ("${cp.maxIdle}" ) int maxIdle ;
31- @ Value ("${cp.minIdle}" ) int minIdle ;
32- @ Value ("${cp.maxWaitMillis}" ) long maxWaitMillis ;
25+ /**
26+ * driverName アプリケーションで使用するRDBのドライバークラス
27+ * url 接続先のデータベースのurl
28+ * username データベースで使用するユーザ名
29+ * password データベースで使用するパスワード
30+ * maxTotal データベース接続しているコネクションの最大値
31+ * maxIdle コネクションプールに待機しているコネクションの最大値
32+ * minIdle コネクションプールに待機しているコネクションの最小値
33+ * maxWaitMillis コネクションが使用され返却されるまでの時間の最大値
34+ */
35+ @ Value ("${database.driver-class-name}" ) private String driverName ;
36+ @ Value ("${database.url}" ) private String url ;
37+ @ Value ("${database.username}" ) private String username ;
38+ @ Value ("${database.password}" ) private String password ;
39+ @ Value ("${cp.maxTotal}" ) private int maxTotal ;
40+ @ Value ("${cp.maxIdle}" ) private int maxIdle ;
41+ @ Value ("${cp.minIdle}" ) private int minIdle ;
42+ @ Value ("${cp.maxWaitMillis}" ) private long maxWaitMillis ;
3343
3444 /**
3545 * データソース設定
36- * @param driverName アプリケーションで使用するRDBのドライバークラス
37- * @param url 接続先のデータベースのurl
38- * @param username データベースで使用するユーザ名
39- * @param password データベースで使用するパスワード
40- * @param maxTotal データベース接続しているコネクションの最大値
41- * @param maxIdle コネクションプールに待機しているコネクションの最大値
42- * @param minIdle コネクションプールに待機しているコネクションの最小値
43- * @param maxWaitMillis コネクションが使用され返却されるまでの時間の最大値
4446 * @return 上記設定でカスタマイズされたデータソース
4547 */
4648 @ Bean (destroyMethod = "close" ) // アプリケーションが終了するタイミングでデータソースが解放されるように設定
47- public DataSource dataSource (
48- @ Value ("${database.driver-class-name}" ) String driverName ,
49- @ Value ("${database.url}" ) String url ,
50- @ Value ("${database.username}" ) String username ,
51- @ Value ("${database.password}" ) String password ,
52- @ Value ("${cp.maxTotal}" ) int maxTotal ,
53- @ Value ("${cp.maxIdle}" ) int maxIdle ,
54- @ Value ("${cp.minIdle}" ) int minIdle ,
55- @ Value ("${cp.maxWaitMillis}" ) long maxWaitMillis ) {
49+ public DataSource dataSource () {
5650 BasicDataSource dataSource = new BasicDataSource ();
5751 dataSource .setDriverClassName (driverName );
5852 dataSource .setUrl (url );
@@ -71,16 +65,7 @@ public DataSource dataSource(
7165 */
7266 @ Bean
7367 public PlatformTransactionManager transactionManager () {
74- return new DataSourceTransactionManager (dataSource (
75- driverName ,
76- url ,
77- username ,
78- password ,
79- maxTotal ,
80- maxIdle ,
81- minIdle ,
82- maxWaitMillis
83- ));
68+ return new DataSourceTransactionManager (dataSource ());
8469 }
8570
8671 /**
@@ -90,16 +75,7 @@ public PlatformTransactionManager transactionManager() {
9075 @ Bean
9176 public SqlSessionFactoryBean sqlSessionFactory () {
9277 SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean ();
93- sessionFactoryBean .setDataSource (dataSource (
94- driverName ,
95- url ,
96- username ,
97- password ,
98- maxTotal ,
99- maxIdle ,
100- minIdle ,
101- maxWaitMillis
102- )
78+ sessionFactoryBean .setDataSource (dataSource ()
10379 );
10480 // MyBatis設定ファイルを指定
10581 sessionFactoryBean .setConfigLocation (
0 commit comments