본문 바로가기

Spring Framework5

[Spring] Spring MVC 구조(2) Eception 처리 @ExceptionHandler와 @ControllerAdvice를 이용한 처리 @ControllerAdvice 예외 사항을 전부 핸들링 해야 한다면 중복적이고 많은 양의 코드를 작성해야 한다 따라서 공통적인 예외사항에 대해서는 별도로 @ControllerAdvice를 이용해서 분리한다. 따로 예외들만 분리해서 관리할 수 있게 되고 이것이 AOP를 이용하는 방식이다. @ResponseEntity를 이용해서 예외 메세지를 구성할 수 있다. 스프링 MVC 프로젝트의 기본 구성 스프링 MVC에서 어떤 단계를 거쳐서 실행되는지를 이해해야 문제 발생시 빠른 대처와 대안을 찾을 수 있다. 슬프링 웹 프로젝트는 3-Tier(티어) 방식으로 구성한다. Presentation Tier - Busin.. 2022. 3. 30.
[Spring] Spring MVC 구조 (1) 스프링 MVC 기본 구조 스프링 프레임워크는 하나의 기능을 위해서만 만들어진 프레임워크가 아닌 '코어'라고 할 수 있는 어려 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되었다. 그 중 하나가 스프링 MVC이다. 스프링 MVC Spring MVC - WEB 관령 영역 Spring Core - 일반 Java 영역(POJO) Spring MyBatis Mybatis DB 프로젝트의 구동은 web.xml에서 시작한다. web.xml의 상단에는 가장먼저 구동되는 context Listener가 등록되어 있다. 1. ContextLoaderListener는 해당 웹 어플리케이션을 구동하게 되면 같이 작동이 시작되므로 해당 프로젝트를 실행하면 가장 먼저 로그를 출력하면서 실행된다. 2. root-c.. 2022. 3. 24.
[Spirng] Spring-MyBatis Spring - MyBatis SQL이 복잡하거나 길어지는 경우에는 어노테이션보다 XML을 이용하는 것이 좋다 MyBatis-Spring의 경우 Mapper 인터페이스와 XML을 연동하여 동시에 이용할 수 있다. 인터페이스 객체,메소드() 를 사용하는 순간 해당하는 인터페이스의 경로를 namespace로 가지고 있는 xml mapper를 찾아가서 메소드명과 동일한 id의 쿼리문을 수행하여 결과를 돌려준다 MyBatis는 내부적으로 JDBC의 Preparedstatement 를 이용하여 SQL을 처리한다 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 ?로 치환되어서 처리한다 복잡한 SQL의 경우 ?로 나오는 값이 제대로 전달 되었는지 확인하기가 쉽지 않다 실핸한 SQL의 내용을 정확히 확인하기 어.. 2022. 3. 22.
[Spring] 의존성 주입(Dependency Injection) DI(의존성 주입) - Dependency Injection 의존성(Dependency)이란 하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것을 의미한다. 예를들어 A 객체가 B객체 없이 동작이 불가능한 상황을 'A가 B에 의존적이다'라고 표현한다. 주입(Injection)은 말 그대로 외부에서 밀어 넣는 것을 의미한다. 예를 들어 어떤 객체가 필요한 객체를 외부에서 넣어주는 것을 의미한다. 주입을 받는 입장에서는 어떤 객체인지 신경 쓸 필요가 없고 어떤 객체에 의존하든 자신의 역할은 변하지 않게 된다. 의존 a ----> b a객체에서 b객체를 직접생성 의존성 주입 a ----> ?? Eclipce Marketplace -> STS검색 -> 설치 -> 전부 동의, 다음 ... -> re.. 2022. 3. 21.
[Spring]스프링 프레임워크란 ? 스프링 프레임워크(Spring Framework) 스프링 프레임워크를 이용해서 '의존성 주입'에 대한 이해와 테스트 스프링에서 xml을 이용하는 객체 관리 방법 스프링의 테스트 환경 구축 프레임 워크(Framework) 뼈대나 근간을 이루는 코드들의 묶음 개발자는 각 개개인의 능력차이가 큰 직종이고, 개발자 구성에 따라 프로젝트 결과 역시 큰차이를 낳는다. 이런 상황을 극복하기 위한 코드의 결과물이 바로 프레임워크이다. 프로그램의 기본 흐름이나 구조를 정하고 모든 팀우너들이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다. 프레임워크의 장점 개발에 필요한 구조를 이미 코드로 만들어 놓았기 떄문에 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다... 2022. 3. 18.