학습/Spring45 [spring] 핵심3_Portable Service Abstraction Portable Service Abstraction (PSA) 추상화된 계층을 사용하여 편리하게 구현할 수 있다. (Service Abstraction) 코드를 수정하지 않고 전혀 다른 기술 스택을 사용할 수 있다. (Portable) Service Abstraction Spring으로 Servlet Applicaiton을 만들고 있지만 서블릿 코드를 전혀 쓰지 않음 서블릿 프로그래밍? HttpServlet 상속 클래스에서 Http Request 처리 -> web.xml 맵핑 Spring에선? Mapping Annotation만 사용하면 내부는 서블릿 기반 작동 Portable 코드를 건들지 않고 다른 기술로 바꿀 수 있다. ex. 현재 Tomcact으로 실행중 -> Webflux로 손쉽게 교체가능 we.. 2020. 3. 22. [spring] 핵심2_Aspect Oriented Programming Spring Triangle Inversion Of Control (IOC) Aspect Oriented Programming (AOP) Portable Service Abstraction (PSA) 흩어진 AAAA와 BBBB -> 모아놓은 AAAA와 BBBB 다양한 메소드에 공통 코드가 흩어져 있을 때! 일일이 수정하긴 어렵다! 공통코드를 별도 클래스의 별도 메소드로 분리 EX) 처리시간을 재는 메소드 StopWatch 인스턴스 생성 stopWatch.start( ); 코드 stopWatch.stop( ); System.out.println(stopWatch.prettyPrint( )); AOP 구현1 ~ 컴파일 단계 A.java를 A.class로 컴파일하는 단계에서 원하는 코드를 끼워넣는다. 소스에는.. 2020. 3. 21. [spring] 핵심1_Inversion Of Control / Bean / Dependency Injection Inversion Of Control (IOC) 의존성 관리를 내 클래스 밖에서 누군가 알아서 해준다 -> 제어권의 역전 클래스 안에서 필요한 인스턴스를 생성하지 않는다 -> 주입받음 Dependency Injection -> @Autowired / Constructor / Setter 따라서, DI는 IOC를 구현하는 방법이라 할 수 있다. 이 때, 의존성의 타입(또는 인터페이스)만 맞으면 어떤 것이든 상관없다. 또한, 코드 테스트도 편해진다. IOC Container Bean 객체를 관리하는 컨테이너 기능 = Bean생성 + Bean사이의 의존성 엮기 + Bean제공 ApplicationContext 또는 BeanFactory (주로 전자를 의미) ApplicationContext는 BeanFacto.. 2020. 3. 21. [spring] @RequestParam과 @PathVariable 출처: https://elfinlas.github.io/2018/02/18/spring-parameter/ Spring에서 @RequestParam과 @PathVariable Spring에서 Controller의 전달인자…Spring을 사용하다 보면 Controller 단에서 클라이언트에서 URL에 파라메터를 같이 전달하는 경우가 있습니다.주로 사용하는 형태는 아래의 두 가지가 대표적인 케이스입니다. Type 1 => http://127.0.0.1?index=1&page=2Type 2 => http://127 elfinlas.github.io 위 블로그의 내용을 제가 이해한 바에 맞게 쉽게 정리한 것입니다. URL에 게시물의 id와 같은 파라미터를 전달하기 위한 방법은 2가지 1. 쿼리스트링 - http.. 2020. 2. 15. [spring] DAO와 Repository / DTO / VO DAO - Data Access Object - DAM(Data Access Module)과 유사한 역할 - DB접근 로직과 비즈니스 로직을 구분하기 위함 Repository - JPA와 같은 ORM을 사용하게 되면 객체 단위로 테이블을 관리 (Entity) - 이 때 Repository는 DAO의 역할을 대신한다. - 비슷한 역할이지만 차이는 분명 있다. 아래 링크를 보고 더 공부해야 할 듯... http://egloos.zum.com/aeternum/v/1160846 https://www.slipp.net/questions/319 DTO - Data Transfer Object - 각 계층간 데이터 교환을 위한 객체 - 로직을 갖고 있지 않는 순수한 데이터 객체이며, getter/setter 메서드만.. 2020. 2. 2. 이전 1 ··· 5 6 7 8 9 다음