본문 바로가기

국비지원91

[국비지원] KH 정보교육원 115일차 kh day 115 public class LogAdvice { // POJO : Plain Old Java Object // @Before : JoinPoint 메소드 실행 전 동작 // POINTCUT EXPRESSION 생성은, AsepectJ 언어에서 제공하는 함수를 이용 // 이 pointcut 설정함수 이름은 "execution()" // 이 execution 함수를 호출시, pointcut 설정내역을 인자값으로 매개변수에 전달해야함 @Before( "execution( * org.zerock.myapp.service.*Service.*(..) )" ) // 모든 접근제한자의 Service로 끝나는 모든 클래스의 모든 메서드의 모든 매개변수(..)에 적용 public void logBefore.. 2022. 9. 13.
[국비지원] KH 정보교육원 114일차 스프링의 양대 산맥 중 하나인 AOP에 대해 배워보자!!! 프로그래밍 패러다임의 한 종류 OOP - Object Oriented Programming - 객체 지향 프로그래밍 AOP - Aspect Oriented Programming - 관점 지향 프로그래밍 AOP 0) Aspect 구현해야할 핵심 비지니스 로직은 아니지만, 개발할 때의 관심사 (횡단관심사 Cross-Concern) (성능/속도, 자원사용효율성, 트랜잭션(All or Nothing), 로깅, 보안 등) 1) Advice 횡단 관심사(Cross-Concern)를 실제 구현한 객체 (ex) 트랜잭션 처리) 2) Target 핵심 비지니스 로직이 구현된 서비스 객체 (@Service, 비지니스 계층의 서비스) => 관심사들을 적용할 대상! .. 2022. 9. 8.
[국비지원] KH 정보교육원 101일차 * 어제에 이어서 파일 업로드 배워봅시다! @Log4j2 @NoArgsConstructor @RequestMapping("/fileupload/") @Controller public class FileUploadController { // Mapping URI : /fileupload/page @GetMapping("/page") public void fileUploadPage() { log.trace("fileUploadPage() invoked."); } // fileUploadPage @PostMapping("/doit") public void DoFileUpload( String myName, String myAge, //MultipartFile[] files) { // OK : 배열로 달라! /.. 2022. 8. 22.
[국비지원] KH 정보교육원 100일차 Controller의 리턴타입 String jsp를 이용하는 경우에는 jsp 파일의 경로와 파일이름을 나타내기 위해서 사용 void 호출하는 URL과 동일한 이름의 jsp를 의미 VO, DTO 타입 주로 JSON 타입의 데이터를 만들어서 반환하는 용도로 사용 (추가적인 라이브러리 필요). ResponseEntity 타입 response할 때 Http 헤더 정보와 내용을 가공하는 용도로 사용 (추가적인 라이브러리 필요). Model, ModelAndView Model로 데이터를 반환하거나 화면까지 같이 지정하는 경우에 사용 (최근에는 많이 사용하지 않습니다.). HttpHeaders 응답에 내용 없이 Http 헤더 메시지만 전달하는 용도로 사용 --- 컨트롤러의 리턴타입에 대해 알아보자 @Log4j2 @N.. 2022. 8. 19.