본문 바로가기
반응형

SpringBoot5

Spring JPA 엔티티 설계 시 주의점 현재 회사에서는 JPA를 사용하고 있지 않지만, 개인적으로 궁금하기도 하고 다른 회사에서도 사용하는 경우가 많아서 인프런에서 김영한님의 강의(실전 스프링부트와 JPA 활용 1)를 들으며 차근차근 배워 나가는 중이다. 엔티티 설계 주의점은 앞으로 JPA를 사용해서 개발하게 되면 아주 유용하게 쓰일 것 같아서 따로 블로그에 정리하려고 한다. Spring JPA 엔티티 설계 시 주의점 1. 엔티티에는 가급적 Setter를 사용하지 말자. 2. 모든 연관관계는 지연로딩으로 설정하기 - 즉시로딩 (EAGER)는 예측이 어렵고, 어떤 SQL이 실행될지 추적하기가 어려움 - 특히 JPQL을 싱행할 때, N+1 문제가 자주 발생한다. - 실무에서는 모든 연관관계는 지연로딩 (LAZY)로 설정해야 함. - 연관된 엔티티.. 2022. 7. 13.
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 (2) * 이 글은 인프런 김영한 강사님의 스프링 입문 강의를 듣고 작성했습니다. * 스프링 웹 개발 기초 - MVC와 템플릿 엔진 MVC : Model, View, Controller View = 화면에 보여지는 것과 관련된 코드들이 모여 있다고 보면 됨 Controller, Model = 비즈니스 로직과 관련 타임리프의 장점 절대경로를 통해서 서버 없이 웹 페이지에서 화면을 볼 수 있고, 소스코드를 열어볼 수 있다. 스프링 웹 개발 기초 - API @ResponseBody : Http 프로토콜의 body 부분에 데이터를 직접 넣겠다는 의미 동작원리 HttpMessageConverter 값이 String이라면 StringConverter가 동작, 값이 객체면 JsonConverter 동작 좀 더 자세히 보면,.. 2022. 6. 10.
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 (1) * 이 글은 인프런 김영한 강사님의 스프링 입문 강의를 듣고 작성했습니다. * 1) 프로젝트 환경 설정 다음과 같은 순서로 간단한 웹 앱을 만들면서 스프링 기본 원리에 대해서 배우는 강의다. Maven, Gradle은 라이브러리를 가져오고 이 라이브러리들의 라이프 사이클을 관리해주는 툴이다. 과거에는 Maven을 많이 썼지만, 요즘엔 Gradle을 많이 쓰는 추세다. SNAPSHOT은 아직 만들고 있는 버전이고, M으로 시작되는 버전은 정식으로 릴리즈 된 버전은 아닌 것이다. Group에는 보통 회사명이 들어가게 만든다. Artifact는 빌드 됐을 때 나오는 이름을 설정하는 것. 참고로, 현업에서는 system.out.println을 사용해서 로그를 찍지 않는다. 따로 로그를 찍어야 전체적인 로그 관리.. 2022. 5. 26.
Swagger를 이용한 Springboot Restful API 문서 자동화 하기 회사에 있는 코드가 문서화 되어 있지 않은 관계로 인수인계가 불편하고, 코드를 파악하기에도 힘든 이유로 Swagger 적용을 하자는 이야기가 나왔다. 그래서 처음 사용해보게 된 Swagger! 블로그에 정리해두면 나한테도, 다른 사람에게도 도움이 될 것 같아서 간단하게 정리하려고 오랜만에 블로그에 방문했다. 그러면 서론이 길어지니, 본론으로 들어가겠음. Swagger란? 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 대부분의 사용자들은 스웨거 UI 도구를 통해 스웨거를 식별하며 스웨거 툴셋에는 자동화된 문서화, 코드 생성, 테스트 케이스 생성 지원이 포함된다. 출처 - 위키백과 먼.. 2022. 4. 21.
[오류] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 오랜만에 쓰는 블로그 글이고만 하하. 나름 바쁘게(?) 사느라 블로그에 글을 올릴 수가... 는 핑계겠지; 회사에서 작은 프로젝트를 하면서 만난 오류다. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class 오류가 발생한 이유는 데이터베이스를 구성하려는데 설정한 값이 없어서 발생하는 것이다. 아마도 pom.xml 에서는 dependency를 추가해줬는데, 따로 DB 관련 설정을 안해줘서 발생한 오류 같다. 검색해보면 application.properties에서 D.. 2022. 3. 30.
반응형