분류 전체보기221 [HTTP] 메서드(method) 정리 본 게시글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식강의를 수강하며 정리한 내용입니다. HTTP 메서드의 종류 주로 자주 사용되는 메서드는 GET, POST, PUT, PATCH, DELETE가 있다. GET 리소스를 조회할 때 사용. 쿼리 파라미터를 통해 서버에 데이터 전달. 메시지 바디를 통해서도 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많음. POST 메시지 바디를 통해 서버로 요청 데이터를 전달한다. 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 전달된 데이터를 신규 리소스 등록, 요청 데이터 처리, 다른 메서드로 처리하기 애매한 경우에 사용한다. 리소스 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리해야 되는지 정해진 것이 없기 때.. 2021. 3. 27. [JPA] 값 타입 컬렉션 : @ElementCollection, @CollectionTable JPA에서 데이터 타입은 엔티티 타입과 값 타입으로 분류할 수 있다. 여기서 값 타입은 단순히 값으로 사용하는 자바의 프리미티브 타입이나 객체를 말한다. 값 타입의 분류 기본값 타입 : 자바 프리미티브 타입, 래퍼 클래스(Integer, Long 등), String 임베디드 타입(복합 값 타입) 값 타입 컬렉션 : 값 타입을 여러 개 저장하고자 할 때 사용하며, 자바의 컬렉션을 사용한다. 값 타입 컬렉션 @ElementCollection, @CollectionTable 애노테이션을 붙여 값 타입 컬렉션을 사용할 수 있다. //임베디드 타입 @Embeddable public class Address { private String city; private String street; private String.. 2021. 3. 24. [JPA] Cascade(영속성 전이), OrphanRemoval(고아객체 제거) cascade : 영속성 전이 JPA에서 Cascade 옵션을 사용하면 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들 수 있다. 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화하는 편리함을 제공한다. @Entity public class Parent { @Id @GeneratedValue private Long id; //cascade 옵션 적용 @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL) private List childList = new ArrayList(); public List getChildList() { return childList; } public Long getId() { return id; } }.. 2021. 3. 17. [JPA] @MappedSuperClass 여러 엔티티에서 공통적으로 사용하는 속성들을 부모 클래스로 뽑아내고, @MappedSuperClass 애노테이션을 적용하면 DB 테이블에는 영향을 주지 않고 코드상 중복을 제거할 수 있다. @Entity public class Teacher { @Id @GeneratedValue @Column(name = "teacher_id") private Long id; private String name; private String subject; } @Entity public class Student { @Id @GeneratedValue @Column(name = "student_id") private Long id; private String name; private String grade; } 예를 들어 .. 2021. 3. 13. [스프링] 프록시(Proxy) 프록시의 사전적 정의는 '대리인'으로, 간단하게 설명하면 내가 어떤 객체를 사용하려고 할 때 해당 객체에 직접 요청하는 것이 아닌 중간에 가짜 프록시 객체(대리인)를 두어서 프록시 객체가 대신해서 요청을 받아 실제 객체를 호출해 주도록 하는 것이다. 프록시 모드를 설정하게 되면, 의존성 주입을 통해 주입되는 빈은 실제 빈이 아닌 해당 빈을 상속받은 가짜 프록시 객체이다. 스프링은 CGLIB이라는 바이트 코드를 조작하는 라이브러리를 사용해서 프록시 객체를 주입해준다. 프록시 객체 내부에는 실제 빈을 요청하는 로직이 들어있어, 클라이언트의 요청이 오면 그때 실제 빈을 호출해준다.(실제 빈의 조회를 필요한 시점까지 지연 처리) 프록시 객체는 원래 빈을 상속받아서 만들어지기 때문에 클라이언트 입장에서는 실제 빈.. 2021. 3. 8. [스프링] 의존관계 조회(Dependency Lookup) : ObjectFactory, ObjectProvider, JSR-330 Provider @Autowired HelloService helloService; 스프링에서 위와 같이 외부로부터 의존 관계를 주입받는 것을 의존성 주입이라고 한다. 또한 외부로부터 주입받는 것이 아닌 내가 필요할 때 직접 의존 관계를 찾을 수도 있는데 이것을 '의존관계 조회(Dependency Lookup)'이라고 하고, 의존 관계 조회를 사용하는 3가지 방법을 알아보도록 하자. 스프링에서 제공 : ObjectFactory, ObjectProvider 자바 표준 : JSR-330 Provider ObjectFactory @FunctionalInterface public interface ObjectFactory { T getObject() throws BeansException; } ObjectFactory의 get.. 2021. 3. 8. 이전 1 ··· 28 29 30 31 32 33 34 ··· 37 다음