본문 바로가기

Framework5

[Spring][iBatis] iBatis를 스프링에 세팅할 때 ‘SqlMapClientTemplate’ 클래스를 얻어오기 위한 라이브러리로 쓸 수 있는 2가지 라이브러리 — ‘spring-orm’ (3.2.18.RELEASE 까지) — ‘spring-ibatis’ (2.0.8) 두 가지가 있다. SqlMapClientTemplate 클래스 스프링 환경에서 ibatis를 데이터베이스 접근기술로 하여 데이터 처리를 한다면 SqlMapClientFactoryBean, SqlMapClientTemplate를 이용하게 된다. SqlMapClientFactoryBean (org.springframework.orm.ibatis.SqlMapClientFactoryBean) : dataSource와 config정보를 투입해 해당 객체를 생성 SqlMapClientTemplate (org.springframework.orm.ibatis.SqlMapClientTemplate) : SqlMa.. 2022. 3. 18.
[Spring][iBatis] 스프링 환경에서 데이터베이스 접근 기술을 iBatis로 세팅하는 방법 및 사용 방법 1. 스프링 프로젝트(MVC 프로젝트)를 생성한다. 2. 스프링 애플리케이션에서 ibatis를 사용하기 위해 필요한 라이브러리 3개를 추가한다(pom.xml) mysql-connector-java ibatis-sqlmap spring-ibatis (spring-orm도 원래는 가능했는데, spring-orm 4 버전대부터는 ibatis 지원 종료됨) 3. 만약 라이브러리 jar들이 막상 까 봤는데 제대로 안 담겨있거나 하면, 해당 jar를 우클릭해서 ‘build path’에 들어가서 직접 external file로 추가해준다 4. 라이브러리 임포트 후, web.xml에서 필요한 설정 처리 Context와 Servlet에 대한 설정 (각 설정 파일의 경로를 지정) 5. root-context.xml (혹은.. 2022. 3. 18.
[Spring] 스프링 애플리케이션에서 서버 단에서의 처리 결과를 HTTP Response Body에 바로 담아서 반환해주는 방법 (view 형으로 내보내는 것이 아닌) 예전에 스프링 애플리케이션에서 서버에서 처리한 결과를 리턴할 때 많이 쓰던 방식은 Model, ModelAndView 같은 객체에 결과 데이터를 담고 ( model.addAttribute() / mv.addObject() ) 뷰 경로명을 리턴해주면 ( return “뷰 경로” / mv.setViewName(”뷰 경로”) ) ViewResolver로 해당 뷰를 찾고 데이터를 넘겨주어 최종 결과를 완성해서 표시해주는 방식이었다. 근데 이렇게 결과 데이터를 view의 그릇에 담아 표시하는 방식이 아닌 HTTP 응답 몸체(HTTP Response의 Body 부분)에 처리결과를 직접 담아서 바로 내보내 주고, 클라이언트에선 이를 JSON 형태로 받아서 볼 수 있는 방식이 있다. → 이를 이용하면 view 없이도 .. 2022. 3. 18.
[Spring] 제어의 역행(IoC) 그동안 '제어의 역행'에 대해 명확히 정리되지 않았었다. 하여 이번에 '제어의 역행'을 명료하게 정리하고자 포스팅을 작성하였다. 제어의 역행 이란 제어의 역행(Inversion of Control)은 결국 ‘객체’에 대한 것이다. 한 클래스에서 객체 A가 필요하다고 하자. 이 클래스에서 객체 A를 사용하려면 일반적으로는 객체 A를 생성하는 객체 생성문이 있어야 한다. 즉 객체A objA = new 객체A(); 위 생성문이 있어야 객체를 생성해내고 그걸 이용할 수가 있을 것이다. 위와 같은 ‘직접 객체 생성문을 작성하는 방식’이 엔터프라이즈 애플리케이션 개발에서 좋지 않은 이유 및 한계 단도직입적으로 말하면 객체지향적이지 않고, 유지보수성이 나쁘다. - 유지보수성이 나쁘다 엔터프라이즈 애플리케이션은 클래스.. 2022. 3. 12.