본문 바로가기
반응형

Spring20

Thymeleaf - 페이징 화면 그리기 오랜만에 블로그 포스팅을 하는 거 같은데 처음으로 블로그를 접했을 때의 기분이 드네요! 공백 시기의 내용은 다른 글에서 정리하는 것으로 하고 바로 글을 적어 내려가 보겠습니다. 이번 글에서는 Thymeleaf에서 간단한 페이징 화면을 그리는 내용을 정리해보려고 합니다. 프로젝트 버전 개발 도구: IntelliJ Ultimate Spring Boot: 2.6.11 Java 11 h2 Database Thymeleaf, Spring Web, Spring Data JPA, Querydsl 전체 코드는 제 Github에 올려두었으니 조금 더 직관적으로 확인하고 싶으신 분들은 확인해주시면 좋을 거 같습니다! GitHub - DahamLeee/Tistory-Code Contribute to DahamLeee/Tis.. 2022. 8. 23.
스프링 부트 2.6 이상, Querydsl 5.0 Unable to load class 'com.mysema.codegen.model.Type' 에러 해결하기 최근에 한 기업의 과제를 진행하였는데, 주제만 정해주고 기술 스택은 자유였습니다. 그래서 start.spring.io를 통해 최신 버전의 스프링 부트(버전 2.6 이상) 프로젝트를 만들었고, 프로젝트에 Spring Data JPA와 Querydsl을 세팅하였습니다. 그런데, 이전에 "Querydsl 시작하기"라는 글을 작성한적이 있는데, 그 방식대로 Querydsl의 의존성을 추가한 이후에 QType Class를 사용하고자 compileQuerydsl을 실행해보니 다음과 같은 에러를 만났습니다. ※ compileQuerydsl의 실행할 수 있는 위치 및 기본적인 내용은 이전에 작성한 다음 글을 참조해주시기 바랍니다. Querydsl - 시작하기 Spring Data JPA를 사용하는 기업들이 많아지면서 .. 2022. 6. 14.
Spring AOP - AspectJ Pointcut Expression 하이라이팅 최근 영한님의 Spring Core Advanced 강의를 들으면서 Proxy, BeanPostProcessor, Advisor, Advice, Pointcut 등등 방대한 양의 Spring 관련 기술을 습득하고 있습니다. 나중에 강의를 다 들은 후에 복습하고 토이 프로젝트를 진행하여 적용해보고 이리저리 곱씹어 본 후에 느낀 점, AOP 관련 내용을 정리해볼까 합니다. 오늘의 포스팅 내용은 강의를 들으면서 라이브 코딩을 하던 와중에 AspectJExpressionPointcut을 통해 pointcut의 표현식을 정의하는 코드를 접했습니다. 그런데 영한님의 pointcut 표현식 코드에는 JPQL을 작성할 때 처럼 Code Assistant, 코드 하이라이팅 기능이 있어서 자동 완성을 제공하였지만, 제 I.. 2022. 3. 16.
Spring Data JPA - 데이터 뻥튀기 (일대다 관계 조인) "N + 1 문제 ②편"에서 N + 1 문제 해결 방법으로 Fetch Join을 사용해야 한다고 정리했었는데요. 정리를 하면서 "컬렉션 페치 조인, 일대다 관계인 @OneToMany로 연관관계를 가지는 Entity를 조회할 때 데이터 뻥튀기가 일어난다."라고 말씀드렸습니다. 그래서 오늘은 fetch join에 대해 자세히 알아보고 데이터 뻥튀기를 해결해보도록 하겠습니다. 먼저 페치 조인의 특징, 일반 조인과의 차이점을 알아보고, [일대다 관계 조인, 컬렉션 페치 조인]에 대해서 알아보도록 하겠습니다. 페치 조인의 특징 SQL 조인 종류 X JPQL에서 성능 최적화를 위해 제공하는 기능 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능 일반 조인과의 차이점 일반 조인 실행 시 연관된 엔티티를 함.. 2022. 3. 7.
Thymeleaf - Ajax Response 값 활용하여 View 갱신하기 타임리프가 자바 진영의 서버 사이드 템플릿인 만큼 타임리프를 사용하면 필수적으로 HTML, CSS, JavaScript, jQuery 등과 같은 기술도 같이 사용해야 합니다. 그래서 다른 전문적인 프론트 개발자분들처럼은 못해도 뷰단을 코딩할 때도 최대한 컨벤션을 지키거나 유지 보수하기에 용이하도록 깔끔하게 코드를 짜려고 노력하는 편입니다. 다만, Ajax를 사용하여 웹 페이지 일부분을 렌더링하고자 할 때 유지보수는 꿈꿀 수 없을 정도로 더럽게 코드를 짜고 있는 제 모습을 볼 수 있었습니다. 그래서 코드를 깔끔하게 짜고자 모듈화를 한 경험에 대해 정리해볼까 합니다. 프로젝트 버전은 다음과 같습니다. 개발 도구: IntelliJ Spring Boot: 2.5.10 Java 11 Thymeleaf Spring.. 2022. 3. 4.
Thymeleaf 사용 시 onclick 함수에 매개변수 넘기기 간단하게 스프링 프로젝트를 만들어주시고, Spring Web, Thymeleaf 라이브러리를 넣어주세요. Controller에서 Model에 샘플 객체 담아서 index.html을 렌더링하도록 했습니다. HomeController @Controller public class HomeController { @GetMapping("/") public String index(Model model) { Member member = new Member("wangtak@gmail.com", "왕탁이", 26); model.addAttribute("member", member); return "index"; } public static class Member { private String email; private .. 2022. 2. 26.
반응형