전략 패턴 구조에서 분리
컨텍스트 메서드는 UserDao 내의 PreparedStatement 를 실행하는 기능을 가진 메서드에서 공유 가능
JdbcContext
public class JdbcContext {
private DataSource dataSource;
public void setDataSource(DataSource dataSource){
this.dataSource = dataSource;
}
public void workWithStatementStrategy(StatementStrategy stmt) throws SQLException{
...
}
}
UserDao
public class UserDao {
@Autowired
private DataSource dataSource;
private JdbcContext jdbcContext;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void setJdbcContext(JdbcContext jdbcContext){
this.jdbcContext = jdbcContext;
}