template, callback
public class Service {
private Dao dao;
public void setDao(Dao dao) {
this.dao = dao;
}
private void template(IService service, Map<String, String> param) {
Connection conn = null;
try {
conn = ConnectionManager.getConnection();
service.invoke(conn, param);
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionManager.closeConnection(conn);
}
}
public void insertUser(String userSeq) {
Map<String, String> param = new HashMap<String, String>();
param.put("USER_SEQ", userSeq);
template(new IService() {
public void invoke(Connection conn, Map<String, String> param) throws Exception {
dao.insertUser(conn, param);
}
}, param);
}
}
interface IService {
public void invoke(Connection conn, Map<String, String> param) throws Exception;
}