"persistence.xml" 은 JPA의 설정 정보 파일로서, META-INF/persistence.xml 에 위치한다. persistence version = "2.2" : JPA version JPA 2.2ver 사용 persistence-unit name = "hello" : 설정 파일 이름 부여 특정 DB에 사용되는 JPA 설정 파일을 식별하기 위한 이름 설정 (JPA 설정 파일은 각각 DB에 맞게 1개 씩 따로 만드는데, 각각 DB에 맞는 JPA 설정 정보파일을 특정하기 위해 이름이 필요하다.) "javax.persistence.jdbc.driver" : 데이터베이스 접근 정보 value 로 사용하고자 하는 데이터베이스 타입을 입력받는다. "javax.persistence.jdbc.user"..
분류 전체보기
* DB "H2 Database" * Build Tool "Maven" (pom.xml 사용) * JAVA Version JAVA 11 [Spring Boot 와 잘맞는 라이브러리 버전 찾는 방법] 예시 ) Spring Boot 와 궁합이 잘맞는 hibernate 알아보자. ※ 이 방법은 2023.11.19 에 사용한 방법으로 시간이 지남에 따라 공식 홈페이지 UI는 바뀔 수 있음. 1. 스프링 공식 홈페이지 접속 https://spring.io/ 2. 상단 메뉴 [Projects] -> [Spring Boot] 접속 3. [LEARN] 메뉴에서 원하는 Spring Boot version 의 'Reference Doc.' 선택 4. 가장 아래 위치한 'Dependency Versions' 클릭 5. 확인..
1. @ComponentScan 소개 @ComponentScan 은 설정정보(AppConfig.class 와 같은) 없이도 자동으로 스프링 빈을 등록하는 어노테이션이다. 컴포넌트 스캔은 기존 설정정보를 일일이 등록하는 방법의 단점을 보완하기 위해 등장한 방법이다. 1. 수동빈 등록으로 인한, '누락 발생' 가능성 2. 등록해야 할 스프링 빈의 양이 많아 진다면, '파일 크기 증가' 3. 일일이 관리해야 하는 '귀찮음' 등의 단점이 존재한 수동 빈 등록을 보완하기 위해 등장하였다. 컴포넌트 스캔은 @Component 라는 어노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록한다. 2. @Autowired @ComponentScan 은 스프링 컨테이너에 자동 빈 등록을 해준다. 그렇다면, 의존관계 주입은 ..
해당 포스팅은 김영한 님의 인프런 강의 "스프링 핵심 원리 - 기본편" 을 통해 얻은 지식을 정리한 자료 입니다. [참고 자료] https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 1. 싱글톤(Singleton) : 싱글톤은 디자인 패턴으로 "클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴" 이다. * 싱글톤을 왜 써야 하는가? 여러 클라이언트로 부터 막대한 양의 요청이 오게될 경우, 요청 때 마다 객체 인스턴스를 생성하여 반환하게 된다면, 1. 애플리케이션 성능 저하 2. 메모리 낭비 심화 3. ..
해당 포스팅은 김영한 님의 인프런 강의 "스프링 핵심 원리 - 기본편" 을 통해 얻은 지식을 정리한 자료 입니다. [참고 자료] https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 1. 스프링 컨테이너의 스프링 빈 생성과정 "ApplicationContext" 는 인터페이스 로서, '스프링 컨테이너' 라고 보아도 무방하다. 이를 구현한 것 중 하나가 "AnnotationConfigApplicationContext" 이다. (어노테이션 기반의 자바설정 클래스로 이를 활용하여 스프링 컨테이너를 만든다.) (정확하게는 "..
1. 역방향 프록시란 무엇인가? * '프록시 서버'란 무엇인가? 일반적으로 프록시는 정방향 프록시를 의미한다. 프록시는 클라이언트와 서버와의 직접적인 통신을 하지 못하도록 중간에서 통신을 중계해 주는 중계자의 역할을 수행하는 서버이다. 프록시(Proxy) : 클라이언트와 서버 사이 중계자의 역할을 하는 서버! * '프록시' 와 '라우터' 의 차이 더보기 프록시 와 라우터는 통신을 위한 데이터가 거쳐 가는 곳으로 쓰임새가 비슷해 보이기도 한다. 그러나 둘은 쓰임새의 결이 다르다. 프록시는 클라이언트와 서버 사이 통신을 중계하는 역할에 집중하였고, 라우터는 패킷을 효율적으로 목적지로 전달하기 위한 역할에 집중한 것이다. * 정방향 / 역방향 프록시의 차이점 정방향 프록시는 일반적인 프록시의 형태로서, 클라이..