본문 바로가기

반응형

신세계 - Spring 공부

(12)
19주차 배운점 - JPA @Embeddable, 컬렉션 Set 매핑 테이블과 매핑 예   실제모델   @Embeddable엔티티가 아닌 타입을 한 개 이상의 필드와 매핑할 때 사용예: Address, Money 등 매핑엔티티의 한 속성으로 @Embeddable 적용 타입 사용 저장  객체를 생성자에 넣어줘도 insert 잘 됨   조회  하나의 객체로 관리됨 인베더블 클래스를 부품처럼!!  null   @AttributeOverride 설정 재정의이름 다르게 사용, 매핑을 하나씩 따로   Hotel @Entity@Table(name = "hotel_info")public class Hotel { @Id @Column(name = "hotel_id") private String id; @Column(name = "nm") private Strin..
19주차 배운점 - JPA 매핑, 식별자 엔티티 매핑   @Table 애노테이션   @Enumerated 애노테이션   매핑설정 예시 @Entity@Table(name = "hotel_info")public class Hotel { @Id @Column(name = "hotel_id") private String id; @Column(name = "nm") private String name; private int year; @Enumerated(EnumType.STRING) private Grade grade; private LocalDateTime created; @Column(name = "modified") private LocalDateTime lastModified; public Hotel() { } 생성..
19주차 배운점 - JPA 설정, CRUD 객체와 관계형 데이터베이스 차이상속연관관계데이터 타입데이터 식별 방법 상속    JDBC API 같이 CRUD 를 반복해서 작성하면 비생산적임 객체와 관계형 데이터베이스 간의 차이를 중간에 해결해주는 ORM 프레임워크 JPA는 반복적인 CRUD SQL을 알아서 처리해 줌 , 객체 모델링과 관계형 데이터베이스 사이의 차이점도 해결 객체 중심으로 개발하니 생산성과 유지보수가 확연히 좋아졌고 테스트를 작성하기도 편리해짐, 버그도 많이 줆, 코드를 거의 수정하지 않고 데이터베이스를 손쉽게 변경 JPA란왜쓰는지? / hibernat dialect 란?Hibernate가 다양한 데이터베이스와 통신할 수 있도록 해주는 구성 요소SQL 문법과 데이터 타입, 특정 기능들이 조금씩 다르기 때문에, Hibernate는 이러..
16주차 배운점 - 스프링 부트, ORM, 하이버네이트 다오가 xml 파일로감 스프링 부트 프레임워크 스프링 프레임워크 개발 도구Enterprise Level Application 개발을 위해 필요한 기능을 제공하는 개발도구 특징 Auto Configuration(자동 설정)Embedding Tomcat (내장 서버)단독 실행 가능한 도구 스프링 컨테이너(Spring Container) 스프링 안에서 동작하는 빈 생성 및 관리 주체 빈(Bean) 스프링 컨테이너가 생성하고 관리하는 객체빈 등록 방법 관점 지향 프로그래밍(AOP) AOP = Aspect Oriented Programming핵심 관점, 부가 관점으로 나누어 프로그래밍하는 것 핵심 기능 => 로그인 서비스, 판매 서비스, 다운로드부가기능 =>로깅, 트랜잭션, 보안 등 서비스에 꼭 필요하지만 핵심 ..
15주차 배운점 - Spring mybatis Todo 프로그램 (테이블 페이징) select * from tbl_todo order by tno desc limit 20, 10;  30 건너뛰는 데이터 수10 가져오는 데이터 수-> 뒤에서 30개 스킵해서 10개 가져와라 dto 디렉토리에 PageRequestDTO @Builder@Data@AllArgsConstructor@NoArgsConstructorpublic class PageRequestDTO { @Builder.Default @Min(value = 1) @Positive private int page = 1; @Builder.Default @Min(value = 10) @Max(value = 100) @Positive private int size = 10; public..
15주차 배운점 - Spring mybatis Todo 프로그램 (CRUD) Todo 기능 개발(insert) 개발 순서 :TodoMapper -> TodoService -> TodoController -> JSP  매퍼 TodoMapper interface void insert(TodoVO todoVO);  TodoMapper.xml-- 세미콜론 안넣음, 원하는 쿼리작성 insert into tbl_todo(title, dueDate, writer) values (#{title},#{dueDate},#{writer})   test@Test public void testInsert(){ TodoVO todoVO = TodoVO.builder() .title("titletest") .dueD..
15주차 배운점 - 퍼사드 패턴, 컨트롤러, Formatter, 예외처리, Mapper 퍼사드(Facade) 패턴 소프트웨어 설계 패턴 중 하나로, 복잡한 시스템에 대한 단순화된 인터페이스를 제공합니다. 이 패턴의 주요 목적은 서브시스템의 복잡성을 숨기고, 클라이언트가 사용하기 편리한 고수준의 인터페이스를 제공함으로써 클라이언트와 복잡한 서브시스템 간의 의존성을 줄이는 것입니다. 퍼사드 패턴 특징 단순화된 접근: 클라이언트는 복잡한 서브시스템을 직접 다루지 않고, 퍼사드를 통해 간접적으로 접근합니다. 이를 통해 사용법이 간단해지고, 구현 세부 사항에 대한 이해 없이도 서브시스템의 기능을 사용할 수 있습니다. 시스템 분리: 퍼사드는 시스템의 구성 요소를 분리하여, 서브시스템의 변경이 클라이언트에 미치는 영향을 최소화합니다. 이로 인해 시스템의 유지보수성과 확장성이 향상됩니다. 인터페이스 통합..
15주차 배운점 - 스프링, MyBatis, 스프링 Web MVC 스프링 객체지향의 의존성 주입 기법을 적용할 수 있는 객체지향 프로그래밍로드존슨 2002년 책 J2EE 설계 및 개발 스프링프레임워크 (light weight) 경량화를 목표  스프링 모듈이란 해당 모듈에 필요한 코드를 모아 놓은 JAR 파일디펜던시에 추가해서 씀 각 모듈의 기능을 이해하고 프로젝트에 필요한 모듈을 적절히 선택해 적용한다.  aop, beans, context, core, jdbc, expression, orm, tx, web-mvc, websocket 등 ..사용할 것-> 내가 필요로하는 라이브러리 선택해서 사용 특징 경량화! -> 분리작업 단순화된 단위 테스팅EJB 컨테이너 외부에서 실행이 어려워 테스트를 위해 컨테이너에 배포해야 하는번거로워 이를 해결하기 위해 의존성 주입(Depen..

반응형