전체 글 (112) 썸네일형 리스트형 JPA @MappedSuperclass @MappedSuperclass 는 모든 entity에서 공통으로 가져야 하는 매핑정보만을 상속하기 위한 어노테이션임 @MappedSuperclass 가 선언되어 있는 클래스는 entity가 아니므로 테이블과 매핑되지 않음. 단순 부모 클래스를 상속받는 자식클래스에 매핑정보만을 제공하며 테이블과 관계가 없고, 단순히 엔티티가 공통으로 사용하는 매핑 정보를 모으는 역할을 함 (주로 등록일, 수정일, 등록자, 수정자 같은 전체 엔티티에서 공통으로 적용하는 정보를 모을 때 사용) 참고 > JPA에서 @Entity 클래스는 @Entity나 @MappedSuperclass로 지정한 클래스만 상속할 수 있음 네이버 api 연동 postMan 테스트 방법_총 정리(+인증 토큰) 네이버 api연동을 postMan으로 테스트 하기 위해서는 인증방식에 따른 인증 토큰을 Authorization에 담아 요청을 보내야 하는데 내가 사용하려고 했던 '상품 목록 조회' api 의 실제 테스트 과정으로 방법을 정리해보았다. 위의 네이버 api를 사용하기 위해서는 캡처 이미지 내에 하이라이트 표기된 Client-Credentials 방식의 Authorizations(인증)을 통한 access token 을 발급해야 한다. 발급받은 토큰은 '상품 목록 조회' 에 대한 api 요청을 보낼 때 header 에 담아서 함께 보내야 api를 사용할 수 있다. 아래 화살표시를 누르면 Client-Credentials 방식으로Authorizations 인증 토큰을 발급하는 api(인증토큰을 발급하는 별도의.. Spring Framework_MVC 스프링 프레임워크는 웹 애플리케이션 개발에 필요한 여러 기능을 미리 만들어 제공함 그 기능중 하나가 'MVC' MVC의 특징 모델2 아키텍처를 지원 , 스프링과 다른 모듈의 연계가 쉬움, 타일즈같은 View기술(화면관련 프레임워크)와 연계가 쉬움 스프링프레임워크 MVC 구성요소 DispatcherServlet : 클라이언트 요청을 받고 해당 요청에 대한 컨트롤러를 선택하여 요청을 전달함. 또한 컨트롤러의 응답값을 View에 전달 + Dispatcher(= 보내는자)Servlet (= Servlet을 보내는자) HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 Front Controller + Front Controller 는 주로 서블릿 컨테이너의 제일 앞에서 서버로 .. 관점 지향 프로그래밍 AOP(Aspect Oriented Programming) AOP 메서드 안의 주기능과 보조기능을 분리한 후 선택적으로 메서드에 적용해서 사용한다는 개념 AOP를 사용하면 전체 코드에 흩어져 있는 보조 기능을 공통으로 묶어 관리할 수 있고, 설정을 통해 이러한 보조 기능을 특정 메서드나 클래스에 적용할 수 있음 ex) 주요 기능(회원/상품/주문관리 등)은 아니지만 보안/ 로깅/ 트랜잭션 처리 와 같이 모든 기능에 공통으로 필요로 하는 작업을 AOP로 처리함 스프링에서의 AOP 기능 관련 용어 정리 - aspect : 구현하고자 하는 보조 기능 - advice : aspect의 실제 구현체(class)를 의미하며 메서드 호출을 기준으로 여러 joinpoint에서 실행 - joinpoint : advice를 적용하는 지점으로 스프링에서는 메서드 결합점만 제공 - p.. Spring 의존성 주입(DI) / 제어의 역전(IOC ) DI(의존성주입) : 객체에 대한 관리와 의존 관계를 개발자가 직접 코드로 작성하여 설정하는 것이 아니라, XML이나 어노테이션을 이용해 객체를 주입하고 객체들간의 의존 관계를 맺어주어 결합도를 낮춤 (스프링이 객체를 제어하도록 함 : IOC) > DI로 IOC 기능을 구현하므로 DI라는 용어를 주로 사용 public class BoardServiceImpl implements BoardService { private BoardDAOImpl dao; public BoardServiceImpl(BoardDAOImpl dao) { this.dao = dao; } } // 객체 생성 시점에 생성자 호출시, 외부에서 (파라미터로)주입받는 객체로 클래스 멤버변수를 초기화 함 > 스프링에서 생성자를 통한 객체 주입.. 클래스 상속과 인터페이스 사용 목적 정리 상속 > 부모클래스의 멤버를 그대로 상속 받으면서 기능을 추가할수도 있고 기존의 기능을 조금 수정해서 사용할 수 있음 비슷한 특성의 클래스가 있을때 기능의 중복정의를 하지 않고 필드와 메서드를 재사용함으로서 클래스 간결화 할 수 있음 클래스간의 계층적 분류 및 관리가 가능 인터페이스 (핵심은 선언과 구현의 분리) 자바에서는 다중상속을 지원하지 않기 때문에 다중상속을 위해 인터페이스가 나오게 됨 선언을 인터페이스로 함으로써 구현을 뒤로 숨긴다 (=결합도를 낮추기 위함) 클래스간의 계층 구분은 추상클래스 상속을 통해서 해결하고 할 수 있는 기능들은 인터페이스로 구현한다 인터페이스를 상속하면은 전부 구현해야하잖아 근데 추상클래스를 상속하면 일반메서드는 구현 안해도 되고 꼭 구현해야 하는 메서드를 구분지을 수 .. 다형성_추상클래스 / 인터페이스 정리 다형성 : 하나의 객체가 여러가지 타입을 가질 수 있는 것 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있음 * 참조변수의 다형성 : 참조변수가 사용할 수 있는 멤버의 개수가 실제 인스턴스 멤버 개수보다 같거나 적어야 참조 가능 부모 -> 자식 참조 가능 / 자식 -> 부모 참조 불가 이유는 자식 타입의 참조 변수가 사용할 수 있는 멤버 개수 > 실제 인스턴스(부모타입)의 멤버 개수보다 많기 때문 자식 클래스에서 사용할 수 있는 멤버의 개수는 언제나 부모 클래스와 같거나 많음(상속을 통해 확장되기 때문) 참조변수 타입변환 서로 상속 관계에 있는 클래스 사이에만 타입변환 가능 자식 클래스 타입에서 부모 클래스 타입으로의 변환은 생략 가능 (부모 -> 자식 타입 변환은 반드시 명.. 새싹체험_java_1029 java 인터페이스 >> 개발자가 어떤 소스코드를 작성할 때 서로 호환성있고 일관성 있게 구현하기 위해 클래스에 대한 규격/틀을 제공하는 것 (다른 클래스를 작성할때 기본이 됨 / 추상 메서드의 집합) > 인터페이스는 서로 통신하는 접점 역할을 하는데, 코드 작성시 인터페이스의 메서드를 호출하면 인터페이스는 객체의 메서드를 호출시키고 그에 대한 리턴값을 인터페이스를 통해 넘겨받음 (개발자는 객체의 내부 구조를 알 필요 없이 사용만 하면 됨) 인터페이스 선언은 class 키워드 대신 interface 키워드를 사용하고 public interface "인터페이스 이름" 형태로 선언함 인터페이스는 인스턴스 또는 정적 필드를 선언할 수 없음 / 하지만 상수 필드는 선언이 가능함 interface Animal {.. 이전 1 2 3 4 ··· 14 다음