ModelAttribute와 RedirectAttributes 의 차이점
·
개발/Spring+JPA
RedirectAttributes와 ModelAttribute는 스프링 프레임워크에서 컨트롤러와 뷰 간 데이터를 전달하는 데 사용되는 두 가지 다른 메커니즘입니다. 다음은 각각의 특징과 차이점을 설명합니다:ModelAttribute:@ModelAttribute는 컨트롤러의 메서드 매개변수에 사용되며, 모델에 데이터를 바인딩합니다.@ModelAttribute를 사용하여 데이터를 전달하면, 해당 데이터는 모델에 저장되어 뷰에서 사용할 수 있습니다.주로 폼 입력 데이터를 바인딩하고 초기화하는 데 사용됩니다.@ModelAttribute는 요청을 처리하는 동안 컨트롤러 메서드 내에서 사용됩니다.예를 들어, @ModelAttribute("class") ClassDTO classDTO는 "class"라는 이름으로 C..
생성자와 @NoArgsConstructor(access = PROTECTED)
·
개발/Spring+JPA
열심히 만들어보다가 왜 생성자를 사용하고 final 키워드를 사용해도 되는지 궁금하여 조사해보았다. 아래 코드는 이를 적용한 내용이다. @Component@RequiredArgsConstructorpublic class Admin implements ApplicationRunner{ private final AdminRepository adminRepository; private final PasswordEncoder passwordEncoder; @Override public void run(ApplicationArguments args) throws Exception { Optional optionalAdminEntity = Optional.ofNullable(adm..
N+1문제와 최적화
·
개발
고민 1: 데이터 베이에서 정보를 조회할때 가져오는 방법 고민의 발단: 데이터 베이스 설계가 교사 1: N 학생 이렇게 되어있고 학생을 조회할때, 교사 이름을 가져와야한다 문제: 외래키로 교사의 고유번호가 학생테이블에 저장되어 있는데 이름을 조회하기 위해 따로 교사 테이블에서 조회를 해야한다. 아래 코드는 학생 정보를 조회하는 코드인데 setTeacherEntity에서 수업 엔티티에서 교사 엔티티를 찾아 아이디를 가져오는 과정을 거친다. 그 결과 아래와 같은 쿼리가 발생한다. 조회를 위해 두번의 쿼리가 나가는 것은 비효율 적이라 생각하여 따로 학생 테이블에 교사이름을 넣는게 낫다고 생각하여 아래와 같이 1개의 쿼리로 조회가 되도록 변경했다.  추가적으로 조회를 한 후, 서비스 계층에서 다시 분류하는 것도..
함수 선언시 주의할 점
·
개발
// studentInformationDTO.toEntity().setTeacherEntity(teacherEntity);// studentRepository.save(studentInformationDTO.toEntity()); 이러면 저장이 두 번 된다고 한다.  생각해보면 안되는게 당연하다.
DTO와 파라미터
·
개발
고민의 발단지금까지는 컨트롤러, 서비스, 레포지토리 게층을 전부 DTO에 담아서 처리했으나 계속 이렇게 처리하다보니 필요한 DTO가 계속해서 늘어나기 시작했고효율성에서 문제가 있지 않나 생각해서 이런 저런 정보를 찾아보았다.해결과정https://stackoverflow.com/questions/14435912/should-using-a-dto-mean-that-i-have-no-other-parameters-on-a-method-call구글에 검색했을때 DTO와 파라미터 중 어떤 것을 선택할지에 대해 나오는 자료 중에 하나이다.여기서 답변자는 DTO를 사용할 경우, 프로그램을 수정할 때 인터페이스를 변경할 필요가 없도록 미리 방지할 수 있다고 나와있었으며추가적으로 관리자의 직접적인 통제를 벗어났을 때, ..
DDD
·
개발
책도메인 주도 설계에릭 에반스 - The Big Blue Book(단, 번역본은 흰색입니다). 시중에 나와 있는 DDD 서적은 이 책의 내용을 설명하거나 보강한 거라 보시면 됩니다. 화물운송시스템, 금융시스템 설계를 예제로 설명합니다. 단 구체적인 코드에 대한 사례는 적습니다. 철학적이라 할 만큼 이론적이고 개념적인 내용이 대부분입니다. 이 책의 난이도는 100/100입니다.DDD START!최범균 - DDD 입문서 + 실용서입니다. DDD는 상당히 이론적이서 어떻게 적용하기가 곤란합니다. 제가 여러 책을 읽어보았는데 개인적은 느낌으로 실제 업무에 적용하기에 가장 부담이 없는 균형잡힌 자료입니다. 소스 예제도 제공하고 JPA를 이용해서 어떻게 모델을 모델링할지 기술적인 관점에서도 많은 방법을 알려줍니다...
dev.hong96
'개발' 카테고리의 글 목록 (6 Page)