본문 바로가기

강의 정리28

3. 싱글톤 컨테이너 싱글톤이란? JVM 내부에 하나의 객체 인스턴스만 존재해야 한다. 1. 웹 어플리케이션에는 왜 싱글톤을 사용하는가? 웹 어플리케이션은 보통 여러 고객이 동시에 요청을한다. 싱글톤이 아니라면 고객 3명이 요청하면 인스턴스 3개를 만들어버리는 문제 n명이 요청하면 n개를 만든다. 메모리 낭비가 심하다. 해당 객체는 딱 하나만 생성하고, 공유되게 사용하자. (싱글톤) 2. 싱글톤 패턴 static 영역에 미리 생성한 뒤, 이를 getInstance로 하여 가져와 사용하는 방법 JVM ClassLoader 가 로딩하는 과정에서, static 영역을 static 영역에 집어넣을 때, new SingletonService() 를 수행하여 넣어놓는다. static 로딩과정에 한번만 생성됐으며, getInstance로.. 2020. 12. 15.
2. 스프링 컨테이너와 스프링 빈 1. 스프링 컨테이너 (ApplicationContext) 생성 과정 ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 1. AppConfig라는 클래스에 @Configuration 어노테이션이 붙어있다면, 이를 통해서 스프링 컨테이너를 생성할 수 있다. 2. 생성이 된 이후, AppConfig 내의 @Bean 어노테이션이 있는 빈들을 등록한다. 3. 스프링컨테이너가 빈 사이의 설정관계를 기초로하여 의존관계를 부여한다. 스프링은 빈 생성과, 빈 의존관계 주입의 단계가 나눠져있다. 먼저 빈 생성을 다 한뒤, 의존관계를 주입한다. 자바코드는 인스턴스를 생성하면 그 인스턴스 생성 함수 블록을 한번에 처리하기 때문에 .. 2020. 12. 13.
1. 객체지향 설계와 스프링 해당 강의를 보고 정리합니다. (사서 보시면 매우 도움이 될거같아요. 2020년에 들은것중에 제일 좋습니다.) 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 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 0. 스프링의 핵심 컨셉 좋은 객체지향 프로그래밍을 통해 어플리케이션을 개발할 수 있게 도와주는 프레임워크다. 1. 좋.. 2020. 12. 12.
리플렉션 0. 리플렉션 리플렉션은 Class API를 사용한다. https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html Class API 에 있는 함수들을 통해서 클래스의 Field 의 값, 혹은 이름 상위 클래스 인터페이스 메소드 목록 어노테이션 등 클래스에 대한 모든 정보에 접근할 수 있다. 왜? JVM ClassLoader 가 로딩이 끝난 뒤에, Heap에 Class 타입에 대한(Class) Class 정보를 등록했기 때문이다. Class 정보 가져오는 법 Book 이라는 클래스가 있는 경우, 아래와 같은 3가지 방법으로 Class 정보를 가져올 수 있다. // .class 인스턴스를 이용해서 가져오는 방법 Class bookClass = Book.c.. 2020. 12. 6.