🍀Spring

@매핑 어노테이션 정리  @Column@Column은 객체 필드를 테이블의 컬럼에 매핑시켜주는 어노테이션이다.   @Enumerated자바 enum 타입을 매핑할 때 사용 (ORDINAL 사용 X!!)  -> 만약 enum 클래스에 USER, ADMIN만 있었다면 DB에는 USER 0 , ADMIN 1로 저장되지만새로 클래스를 수정해 GUEST, USER, ADMIN으로 변경한다면 전에 있던 DB는 그대로 유지되어GUEST와 USER가 0으로 겹쳐버리는 경우가 발생한다.  @Temporal참고: LocalDate, LocalDateTime을 사용할 때는 생략 가능(최신 하이버네이트 지원)   @Lob데이터베이스 BLOB, CLOB 타입과 매핑• @Lob에는 지정할 수 있는 속성이 없다.• 매핑하는 필드 ..
엔티티 매핑 소개객체와 테이블 매핑 : @Entity, @Table필드와 컬럼 매핑 : @Column기본 키 매핑 : @Id연관관계 매핑 : @ManyToOne, @JoinColumn @Entity@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수  주의사항기본 생성자 필수 (파라미터가 없는 public 또는 protected 생성자)final 클래스, enum, interface, inner 클래스 사용X저장할 필드에 final 사용Ximport jakarta.persistence.Entity;import jakarta.persistence.Id;@Entitypublic class Member { @Id private ..
/** * 편리한 축약 애노테이션 * @GetMapping * @PostMapping * @PutMapping * @DeleteMapping * @PatchMapping */ /** * method 특정 HTTP 메서드 요청만 허용 * GET, HEAD, POST, PUT, PATCH, DELETE */package hello.springmvc.basic.requestmapping;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.bind.annotation.*;@RestControllerpublic class MappingController { private Logger log = Logge..
JSP서블릿과 자바 코드만으로 HTML을 만든다면 매우 복잡하고 비효율 적이다. 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드로 넣을 수 있다면 더 편리한데 이것이 바로 템플릿 엔진이 나온 이유이다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있다.템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있다.    MVC 패턴  Model, View, Controller- 하나의 서블릿이나, JSP로 처리하던 것을 컨트롤러(Controller)와 뷰(View)라는 영역으로 서로 역할을 나눈 것을 말한다.   컨트롤러 : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 ..
서블릿 컨테이너 동작 방식  스프링 부트를 실행하면 내장 톰캣서버를 띄우고 톰캣서버는 내부에 서블릿을 생성하고  위와 같은 요청을 보낸다.  웹 브라우저에서 HTTP 요청 메시지를 기반으로 request 객체를 만들어 전달하여 helloServlet을 호출하여 Response 객체 정보로 반환하여 웹 브라우저에서 볼 수 있게된다.     HttpServletRequest서블릿은 아래와 같은 HTTP 요청 메시지를 파싱해서 HttpServletRequest에 담아준다.POST /save HTTP/1.1Host: localhost:8080Content-Type: application/x-www-form-urlencodedusername=kim&age=20   "임시 저장소 기능"해당 HTTP 요청이 시작부터..
말동말동현
'🍀Spring' 카테고리의 글 목록 (3 Page)