반응형 스프링4 토비의 스프링 chap 5 - 서비스 추상화 JdbcTemplate update 테스트 JdbcTemplate 으로 update() 메서드를 테스트 할 경우 수정하지 않아야 할 로우를 수정했는지에 대한 테스트도 하는것이 좋다. 해결 방법은 JdbcTemplate 의 update() 가 돌려주는 리턴 값이 수정된 로우의 개수이기 때문에 이것으로 판단할 수 있다. 다른 방법으로는 테스트를 보강해서 원하는 사용자 외에 정보는 변경되지 않음을 직접 확인하는 방법이 있다. 객체지향 적인 코드 Level 에 대한 부분을 Enum 으로 만들었는데, 정작 코드는 아래와 같이 사용한다. public void upgradeLevel(User user) { if (user.getLevel() == Level.BASIC) { user.setLevel(Level.SILV.. 2022. 7. 1. Spring-PetClinic 프로젝트 실습 1 이 프로젝트는 Spring에서 제공하는 동물병원 접수 사이트 프로젝트다. 프로젝트 실습을 통해서 스프링의 핵심 기술인 'IoC, AOP, PSA'를 학습해보자. 실습과정은 여기의 gbeea1004브랜치를 통해 확인할 수 있다. 먼저 로그레벨이 INFO로 되어있어 좀 더 자세한 정보를 보기위해 DEBUG레벨로 변경시켜주자. 설정은 resources - templates - application.properties에서 할 수 있다. # Logging logging.level.org.springframework=INFO logging.level.org.springframework.web=DEBUG // 웹 에서는 DEBUG로 설정그 후 다음과 같은 요구사항에 맞게 코드를 수정하자. # 요구사항 .. 2019. 5. 14. DAY 1 - 2 # GET / POST 방식 GET : 클라이언트에서 서버의 리소스를 가져올 때 POST : 클라이언트에서 서버에 데이터를 전송할 때 # Controller Controller가 뭔지 생소한 분들이 있을 것 같아 간단히 정의하면 다음과 같다. Controller : 사용자(Client)의 요청(Request)을 어떻게 처리(Handling) 할 지 결정하는 녀석 우리가 User에 대한 컨트롤러를 생성하기 위해서 클래스를 다음과 같이 만들었다. public class UserController { } 하지만 스프링은 해당 클래스가 컨트롤러인지 알 수가 없다. 스프링이 컨트롤러로 인식하게 하려면 애노테이션 @Controller를 사용하여야 비로소 이 클래스가 컨트롤러의 역할을 한다는 것을 의미한다. @Con.. 2019. 5. 4. 스프링 AOP 개념 스프링 AOP # AOP 란? Aspect - Oriendted Programming 흩어진 Aspect를 하나로 모아서 모듈화 할 수 있는 프로그래밍 기법 AOP는 OOP와 서로 보완관계다. = Aspect를 한곳으로 모음으로써 조금 더 OOP를 잘할 수 있도록 도와주는 역할 예를 들어보자. 학생 A, B, C가 있다.학생들의 취미는 다음과 같다. 학생 A : 게임학생 B : 노래부르기, 게임학생 C: 랩 듣기, 노래부르기 위 처럼 비슷한 관심사들이 흩어져 있는 것을 '흩어진 관심사'. 즉, Crosscutting Concerns 라고 한다.Concern : 여러 클래스, 혹은 여러 메서드에 걸쳐서 나타나는 비슷한 코드들을 의미 (ex) 트랜잭션 처리, 로깅 등..) 이런 Concern 중 하나에 변경.. 2018. 12. 24. 이전 1 다음