카테고리 없음

스프링 프레임워크 2일차

밈98 2025. 7. 22. 15:52

HikariCp 설정 및 테스트

 

Mapper 

 

Dto만

 

패키지구조

 

수평적 분할 / 수직적 분할

 

매퍼 인터페이스, xml 분리해서 저장 

 

mybatis는 쿼리의 파라미터 1개만 받을 수 있어서 다중파라미터는 @Param으로 여러개 받거나 dto 객체로 받기 가능 

mybatis는 GET/SET메소드를 통해 쿼리 파라미터를 세팅 할 수 있음 

 

*website 성격

- sns: 무한스크롤 가능(삭제되는 데이터가 많으면 무한스크룰 적용 xx)
- 쇼핑몰: 데이터의 변경주기가 낮음 -> 캐싱활용시 성능확보가능 

 

*브라우저 엔진

- CSS엔진

- 자바스크립트 엔진

- HTML 파서 / 렌더링 엔진 (Layout Engine 포함)

 

브라우저에서 Alet 사용하면 안됨(자제하자)

-> 모든 브라우저 엔진을 멈춰버림

 

자바스크립트 엔진이 두번 동작하면 "호이스팅"이 발생함

 

doA()

 

function doA(){

   console.log("AAA");

}

 

자바 스크립트의 끊어내는 단위는 <script> </script>

 

*PRG패턴

서버사이드에서 INSERT / UPDATE/ DELETE 작업

 

*Query는 Get 방식

 

*회원가입은 입력과 결과가 분리되어있는 페이지

*리스트페이지는 입력과 결과가 합쳐저있는 페이지(검색창)

 

*서버사이드에서 기본적으로 사용하는것은 PRG패턴이다

*뒤로가기 문제(똑같은것 등록 못하게하는거)도 언젠가 겪을 수 있음

 

*쿼리스트링은 고정적인 값을 보여줄때 사용 EX)페이지번호

*유스케이스

무언가를 했을때 잘못했다 -> 대안

 

*실패에 대한 처리?


@ControllerAdvice: 스프링 MVC의 전역 예외 처리기

@ControllerAdvice는 스프링(Spring) 프레임워크에서 전역적으로 컨트롤러(Controller)에서 발생하는 예외를 처리하거나, 공통적인 모델 속성(Model Attributes)이나 데이터 바인딩 설정을 적용할 때 사용하는 매우 강력한 어노테이션입니다.

간단히 말해, 여러 컨트롤러에서 발생하는 예외를 각각 처리할 필요 없이, @ControllerAdvice가 붙은 클래스 하나에서 중앙 집중식으로 관리할 수 있게 해줍니다. 이는 코드 중복을 줄이고, 애플리케이션의 예외 처리 로직을 깔끔하게 분리하는 데 큰 도움을 줍니다.


@ControllerAdvice의 주요 기능

@ControllerAdvice는 주로 다음 세 가지 어노테이션과 함께 사용됩니다:

  1. @ExceptionHandler: 특정 예외가 발생했을 때 해당 예외를 처리하는 메서드를 지정합니다.
  2. @ModelAttribute: 모든 컨트롤러 메서드가 호출되기 전에 모델에 공통 데이터를 추가합니다.
  3. @InitBinder: 모든 컨트롤러 메서드가 호출되기 전에 데이터 바인딩을 위한 초기화 작업을 수행합니다.

가장 흔하게 사용되는 것은 @ExceptionHandler를 통한 전역 예외 처리입니다.

 

스프링프레임워크를 잘 사용하려면 "설계"가 중요

 

AI를 더 잘쓰기 위해서는 공부를 더 많이 해야함. 왜냐하면 보는 시야가 중요하기 때문이닷!