From 1ca3a3f3dd8de83ea04e20254f250edeceecdcf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=8B=A4=ED=98=9C?= Date: Sun, 8 Mar 2020 21:07:32 +0900 Subject: [PATCH] =?UTF-8?q?1=EC=9E=A5:=20IoC=20-=20=EC=98=A4=EB=B8=8C?= =?UTF-8?q?=EC=A0=9D=ED=8A=B8=20=ED=8C=A9=ED=86=A0=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 관계를 맺어주는 관심사를 분리해보자. 덕분에 MainTest에서는 UserDao가 어떻게 생성되는 지 신경쓰지 않고 사용하면 그만이다. --- src/main/java/com/toby/tobyspring/MainTest.java | 4 ++-- .../java/com/toby/tobyspring/user/dao/DaoFactory.java | 9 +++++++++ src/main/java/com/toby/tobyspring/user/dao/UserDao.java | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/toby/tobyspring/user/dao/DaoFactory.java diff --git a/src/main/java/com/toby/tobyspring/MainTest.java b/src/main/java/com/toby/tobyspring/MainTest.java index ae961ee..1874381 100644 --- a/src/main/java/com/toby/tobyspring/MainTest.java +++ b/src/main/java/com/toby/tobyspring/MainTest.java @@ -2,6 +2,7 @@ import com.toby.tobyspring.user.dao.ConnectionMaker; import com.toby.tobyspring.user.dao.DUserConnectionMaker; +import com.toby.tobyspring.user.dao.DaoFactory; import com.toby.tobyspring.user.dao.UserDao; import com.toby.tobyspring.user.domain.User; @@ -9,8 +10,7 @@ public class MainTest { public static void main(String[] args) throws SQLException, ClassNotFoundException { - ConnectionMaker connectionMaker = new DUserConnectionMaker(); - UserDao userDao = new UserDao(connectionMaker); + UserDao userDao = new DaoFactory().userDao(); User user = new User(); user.setId("dahyekim"); diff --git a/src/main/java/com/toby/tobyspring/user/dao/DaoFactory.java b/src/main/java/com/toby/tobyspring/user/dao/DaoFactory.java new file mode 100644 index 0000000..1721aa3 --- /dev/null +++ b/src/main/java/com/toby/tobyspring/user/dao/DaoFactory.java @@ -0,0 +1,9 @@ +package com.toby.tobyspring.user.dao; + +public class DaoFactory { + public UserDao userDao() { + ConnectionMaker connectionMaker = new DUserConnectionMaker(); + UserDao userDao = new UserDao(connectionMaker); + return userDao; + } +} diff --git a/src/main/java/com/toby/tobyspring/user/dao/UserDao.java b/src/main/java/com/toby/tobyspring/user/dao/UserDao.java index f3fa713..378392a 100644 --- a/src/main/java/com/toby/tobyspring/user/dao/UserDao.java +++ b/src/main/java/com/toby/tobyspring/user/dao/UserDao.java @@ -10,6 +10,7 @@ public class UserDao { public UserDao(ConnectionMaker connectionMaker) { this.connectionMaker = connectionMaker; } + public void add(User user) throws ClassNotFoundException, SQLException { Connection connection = connectionMaker.makeNewConnection(); // sql 실행