📗 Back-end

📗 Back-end/📗 Spring

[Spring] 스프링 빈 조회 - 이름, 타입

지난번에 스프링 컨테이너와 등록된 모든 빈, 애플리케이션 빈을 확인하는 방법을 공부했다. 해당 내용은 아래 글을 참고하면 되겠다. https://jnsodevelop.tistory.com/52 [Spring] Spring Container (스프링 컨테이너) - (2) 개요 전에 스프링 컨테이너와 관련된 글을 올렸지만, 좀 더 깔끔하고 간결하게 중요한 내용만 다시 작성하였다. 따라서 아래 글을 읽고 온다면 조금 더 이해하기 쉬울 것이다. https://jnsodevelop.tist jnsodevelop.tistory.com 이번엔 빈 이름, 빈 타입 등으로 빈을 조회하는 방법에 대해 알아보고자 한다. 우선 기본적으로 스프링 빈을 조회하는 방법은 다음과 같다. ac.getBean("빈이름", 타입) ac...

📗 Back-end/📗 Spring

[Spring] 스프링 빈 조회 - 컨테이너에 등록된 빈

1️⃣ 개요 스프링 컨테이너에 등록된 빈을 조회하는 방법을 알아보자. 빈을 조회하는 방법엔 여러 가지가 있지만 그중에서 가장 기본이 되는 몇몇 방법을 살펴보겠다. 모든 빈을 조회하는 방법, 역할에 따른 빈을 출력하는 방법 등이 있다. 2️⃣ 모든 빈 조회 직접 등록한 스프링 빈 뿐만 아니라, 스프링 내부적으로 생성되는 빈을 모두 출력하는 방법이다. 이는 main 디렉토리가 아닌 test 디렉토리에서 확인하였다. 기본적인 코드는 다음과 같다. public class ApplicationContextInfoTest{ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @Disp..

📗 Back-end/📗 Spring

[Spring] Spring Container (스프링 컨테이너) - (2)

1️⃣ 개요 전에 스프링 컨테이너와 관련된 글을 올렸지만, 좀 더 깔끔하고 간결하게 중요한 내용만 다시 작성하였다. 따라서 아래 글을 읽고 온다면 조금 더 이해하기 쉬울 것이다. https://jnsodevelop.tistory.com/35 [Spring] Spring Container (스프링 컨테이너) - (1) Spring Container (스프링 컨테이너) Spring 에서 'ApplicationContext' 는 '스프링 컨테이너' 라고 한다. 이는 DI, IoC 와도 관련이 있는데, 스프링 컨테이너를 통해 DI가 자동으로 되기 때문이다. 스프링 컨테이 jnsodevelop.tistory.com 다시 김영한님의 강의를 들으며 Java 와 Spring을 깊게 공부해보려고 한다. 2️⃣ 스프링 컨..

📗 Back-end/📗 JPA

[JPA] JPA Auditing, BaseTimeEntity

1️⃣ 개요 요즘 캡스톤 디자인 발표 전 막바지 작업을 한다고 블로그 관리를 거의 못했다. 대신 그동안 프로젝트를 하며 공부한 내용, 알게된 내용이 굉장히 많았고, 모두 블로그에 올릴 생각이다. 우선 현재 하고 있는 프로젝트의 경우 DB 테이블이 세 개밖에 나오지 않는다. user, reservation, room 으로 간단하게 구성했다. 만약 테이블이 많아져 DB가 복잡해진다면, 생각보다 column이 중복되는 경우가 많다고 한다. 이를 방지하기 위해 등록 날짜 (create_date), 업데이트 날짜 (update_date)를 자동으로 추가할 수 있는 방법이 있다. 2️⃣ BaseTimeEntity 가장 먼저 'BaseTimeEntity' 라는 추상 클래스를 생성해야 한다. 그리고 다음과 같은 어노테..

📗 Back-end/📗 JPA

[JPA] JPA 기본 개념 (구동 방식, 영속성, 영속성 컨텍스트)

1️⃣ 개요 JPA 에 대한 기본 개념을 익히기 전에 ORM, JPA, Hibernate 가 무엇인지 알고 공부하는 것이 좋다. https://jnsodevelop.tistory.com/41 [JPA] ORM, JPA, Hibernate 개념 ORM ORM (Object-Relational Mapping) 은 말 그대로 객체와 관계형 데이터베이스가 매핑(Mapping)되는 것을 줄여서 표현한 것이다. 객체와 데이터베이스 테이블간의 연결을 도와준다. SQL 쿼리문이 아닌 프로 jnsodevelop.tistory.com 오늘은 JPA 구동 방식, 영속성, 영속성 컨텍스트 등에 대해 공부해보았다. 2️⃣ JPA 구동 방식 JPA 구동 방식에 대한 큰 틀은 위 그림과 같다. 'Persistence' 는 영속성이..

📗 Back-end/📗 Spring

[Spring] H2 Database 연결 feat. JPA

1️⃣ 개요 요즘 Spring 공부를 하면서 김영한님의 JPA 강의도 듣고 있다. 데이터베이스에는 MySQL, Oracle, MongoDB 등 종류가 정말 많지만, 공부를 할 때에는 H2 데이터베이스를 사용한다. Maven 으로 프로젝트를 생성할 때와 Gradle 로 생성할 때 DB 연결 설정이 조금 다르다. 둘 다 사용해본 결과 Gradle 이 좀 더 편했고, 실제로 요즘 Gradle 을 더 많이 사용한다고 들었다. 매번 설정 방법을 찾아보기 귀찮아서 두 가지 방법을 모두 포스팅하겠다. 2️⃣ Maven Maven 에서는 'pom.xml' 과 'persistence.xml' 파일에서 설정을 한다. 우선 기본적으로 생성되어있는 'pom.xml' 파일에 의존성을 추가해준다. 다음과 같은 코드를 넣어주자. ..

📗 Back-end/📗 JPA

[JPA] ORM, JPA, Hibernate 개념

1️⃣ ORM ORM (Object-Relational Mapping) 은 말 그대로 객체와 관계형 데이터베이스가 매핑(Mapping)되는 것을 줄여서 표현한 것이다. 객체와 데이터베이스 테이블간의 연결을 도와준다. SQL 쿼리문이 아닌 프로그래밍 언어의 코드로 데이터를 다룬다는 관점에서 ORM 프레임워크는 객체와 데이터베이스 중간에서 매개체 역할을 한다. 즉, 객체와 쿼리를 나눠 ORM 을 통해 CRUD, 트랜잭션 처리 등 데이터베이스 관련 작업들을 훨씬 수월하게 해주는 방법이다. 2️⃣ JPA JPA (Java Persistence API) 는 Java ORM 기술에 대한 API 표준 명세이다. JPA는 ORM을 사용할 수 있도록 인터페이스를 모아둔 것으로, Java 언어를 통해 관계형 데이터베이스에..

📗 Back-end/📗 Spring

[Spring] Spring Container (스프링 컨테이너) - (1)

1️⃣ Spring Container (스프링 컨테이너) Spring 에서 'ApplicationContext' 는 '스프링 컨테이너' 라고 한다. 이는 DI, IoC 와도 관련이 있는데, 스프링 컨테이너를 통해 DI가 자동으로 되기 때문이다. 스프링 컨테이너가 동작하는 원리를 간단하게 설명하면 다음과 같다. @Configuration 이 붙은 클래스를 설정 정보로 사용한다. 위 클래스에서 작성된 모든 메소드를 모두 호출하여 반환된 객체를 스프링 컨테이너에 등록한다. 스프링 컨테이너에 등록된 객체를 '스프링 빈' 이라고 하며, @Bean 이 붙은 메소드명을 이름으로 사용한다. 스프링 컨테이너에서 필요한 스프링 빈을 찾아서 사용한다. @Configuration public class AppConfig(){..

박갈
'📗 Back-end' 카테고리의 글 목록 (2 Page)