본문 바로가기

Java9

묘공단-스프링부트3 5장 ORM이란 Object Relation mapping으로 객체와 데이터베이스를 연결하는 프로그래밍 기법 ORM의 장점과 단점 장점 1. SQL을 직접 작성하지 않아도 됨 2. 비즈니스 로직에만 집중 가능 3. DB가 추상화 되어 있음으로 DBMS가 변경되더라도 추가적인 작업이 적음(DBMS에 대한 종속성이 줄어듬) 4. 매핑하는 정보가 명확하여 ERD에 대한 의존도를 낮출수 있음 단점 1. 프로젝트의 복잡성이 높아질수록 난이도가 올라감 2. 복잡하고 무거운 쿼리는 ORM으로 해결 불가능 3. 슬로우 쿼리가 발생시 원인 분석이 어려움 JPA와 하이버네이트 JPA는 RDBMS를 사용하는 방식을 정의한 인터페이스로 실제 사용을 위해서는 ORM 프레임워크가 필요함 하이버네이트는 JPA 인터페이스를 구현한 구현체.. 2023. 10. 3.
묘공단-스프링부트3 4장 이 글은 골든래빗 《스프링 부트 3 백엔드 개발자 되기 - 자바 편》의 4장 써머리입니다.​ public class JUnitTest { @DisplayName("1+2는 3이다.") @Test public void junitTest() { int a = 1; int b = 2; int sum = 3; Assertions.assertEquals(sum, a + b); } 테스트 테스트 코드 작성의 목적 : 작성된 코드가 잘 작동 되는지 확인함을 목적으로 함 장점 : 유지 보수가 편함, 개발한 코드가 잘 동작하는지 확인 가능 스프링부트에서 테스트 코드에 대한 디렉토리는 기본 프로젝트 생성시 함께 생성됨 테스트 코드 작성 패턴은 여러가지 방식이 있으나 본 교재에서는 Given-when-then 방식을 사용함.. 2023. 9. 30.
묘공단-스프링부트3 3장 프리젠테이션 계층 - HTTP 요청을 받아서 이것을 비즈니스 계층으로 전송하는 역활을 함 @GetMapping("/test") 의 경우 HTTP로 들어온 요청중 /test에 대한 URL을 처리하며 스프링 부트 내에 여러개가 존재 가능 비즈니스 계층 - 비즈니스 로직을 처리 퍼시스턴스 계층 - DB 관련 로직을 처리 2023. 9. 28.
묘공단-스프링부트3 2장 IoC란? Inversion of Control의 약자로 다른 객체를 직접 생성하거나 제어하는것이 아니라 외부에서 관리하는 객체를 가져와 사용하는것 Di란? Dependency Injection의 약자로 Springboot 에서는 각체간의 결합도를 낮추고 코드의 유지보수성을 향상 시킴 public class A { @Aturowired B b; //B가 빈 } 빈과 스프링 컨테이너 스프링 컨테이너 : 스프링 컨테이너에서 관리하는 객체로 스프링 컨테이너가 생성부터삭제까지의 주기를 관리하는것으로 @Autowired와 같은 애너테이션을 이용해서 주입 받을수 있다. 빈: 스크링에서 제공해주는 객체 @Component //아래줄에 있는 클래스를 빈으로 등록 public calss MyBean { } 스프링부트3을.. 2023. 9. 28.