📗 Back-end/📗 Spring

📗 Back-end/📗 Spring

[Spring] @ServletComponentScan 동작 원리

1️⃣ 서블릿 등록 🔎 @ServletComponentScan 스프링 컨테이너에 빈을 등록할 때 '@ComponentScan'을 사용할 수 있다. 서블릿 역시 서블릿 컨테이너에 서블릿을 등록하기 위해선 '@ServletComponentScan'을 사용한다. 애플리케이션을 실행하는 클래스에 붙여 하위 경로에 존재하는 모든 서블릿 클래스를 등록한다. 사실 오늘 서블릿으로 MVC 패턴을 공부하다가 '@WebServlet'을 통해 서블릿을 등록했는데 인식을 못하는 문제가 있었다. 왜그런가 생각을 해보니 서블릿을 나타내는 애노테이션만 넣었을 뿐 이를 서블릿 컨테이너에 등록하는 애노테이션은 넣지 않았기 때문이다. 따라서 서블릿을 인식하지 못하는 문제가 생겼다면 애플리케이션 실행 클래스를 다시 살펴보길 바란다. 다음..

📗 Back-end/📗 Spring

[Spring] Singleton Container 와 @Configuration

싱글톤 패턴(Singleton Pattern) 이란 디자인 패턴중 하나로, 객체의 인스턴스가 하나만 생성되어 관리되는 것을 말한다. 해당 글은 싱글톤 자체와 관련된 내용이 아닌, 싱글톤 방식으로 동작하는 스프링 컨테이너에 관한 글이 되겠다. 따라서 싱글톤 패턴에 대한 자세한 설명은 아래의 글을 참고하면 되겠다. https://jnsodevelop.tistory.com/38 [Design Pattern] Singleton Pattern (싱글톤 패턴) Singleton Pattern Singleton Pattern (싱글톤 패턴) 은 하나의 클래스가 오직 하나의 인스턴스만 가지는 패턴이다. 싱글톤 인스턴스는 최초 생성시 하나만 만들어지며, 해당 인스턴스를 다른 모듈이 공유 jnsodevelop.tistor..

📗 Back-end/📗 Spring

[Spring] 스프링 빈 조회시 발생할 수 있는 예외

스프링 빈 조회시 발생할 수 있는 몇몇 예외가 있다. 해당 내용에 대한 설명은 아래 글들을 참고하면 좋다. https://jnsodevelop.tistory.com/53 [Spring] 스프링 빈 조회 - 컨테이너에 등록된 빈 개요 스프링 컨테이너에 등록된 빈을 조회하는 방법을 알아보자. 빈을 조회하는 방법엔 여러 가지가 있지만 그중에서 가장 기본이 되는 몇몇 방법을 살펴보겠다. 모든 빈을 조회하는 방법, 역할 jnsodevelop.tistory.com https://jnsodevelop.tistory.com/54 [Spring] 스프링 빈 조회 - 이름, 타입 지난번에 스프링 컨테이너와 등록된 모든 빈, 애플리케이션 빈을 확인하는 방법을 공부했다. 해당 내용은 아래 글을 참고하면 되겠다. https:/..

📗 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/📗 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/📗 Spring

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

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

박갈
'📗 Back-end/📗 Spring' 카테고리의 글 목록