IT 기초이론 (26) 썸네일형 리스트형 [인프런]스프링 핵심원리 기본편_스프링 컨테이너와 스프링 빈(BeanFactory와 ApplicationContext) BeanFactory와 ApplicationContext [ BeanFactory ] 1. 스프링 컨테이너의 최상위 인터페이스다. 2. 스프링 빈을 관리하고 조회하는 역할을 한다. 3. getBean() 을 제공한다. 4. BeanFactory 를 직접 사용할 일은 거의 없다. [ ApplicationContext] 1. BeanFactory에 부가 기능을 더한 것이다. 2. BeanFactory 기능을 모두 상속받아서 제공한다. 3. 주로 부가 기능이 포함된 ApplicationContext를 사용한다. [ ApplicationContext 가 제공하는 부가기능] 1. MessageSource : 메시지 소스를 활용한 국제화 기능이다. 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력하는 기.. [인프런]스프링 핵심원리 기본편_스프링 컨테이너와 스프링 빈(스프링 컨테이너 생성) 스프링 컨테이너 생성 스프링 컨테이너를 생성하는 코드는 다음과 같다. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 1. ApplicationContext 를 스프링 컨테이너라고 하며 이는 인터페이스이다. 2. 인터페이스이기 때문에 다형성이 적용되어 있다. 3. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로도 만들 수 있다. 4. 최근에는 XML 기반으로는 잘 쓰이지 않는다. 스프링 컨테이너 생성과정 [ 1. 스프링 컨테이너 생성 ] 1. 스프링 컨테이너를 생성하여 만들면, 그 안에 스프링 빈 저장소가 생긴다. 2. 스프링 빈 저장소에는.. [인프런]스프링 핵심원리 기본편_스프링으로 전환하기 스프링 적용 드디어 본격적으로 스프링을 적용해볼 것이다. 먼저 이전에 작성했던 소스 중 AppConfig에 어노테이션을 추가한다. @Configuration : 스프링 컨테이너가 이 어노테이션이 붙어있는 클래스는 빈(Bean)을 구성하기 위한 클래스임을 알려준다. 이를 사용하면 자동으로 빈으로 등록하고 @Bean이 있는메소드를 찾아서 빈(Bean)을 생성한다. @Bean : 개발자가 직접 작성한 메소드를 통해 반환되는 객체를 Bean으로 만든다. @Component : 개발자가 직접 작성한 클래스를 빈으로 만든다. 먼저 AppConfig에 어노테이션을 추가한다. import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscoun.. [인프런]스프링 핵심원리 기본편_IoC, DI, 그리고 컨테이너 제어의 역전 IoC(Inversion of Control) 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)라고 한다. 1. 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 2. 즉 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 3. 반면에 AppConfig가 등장한 이후에 구현 객체는 자신의 로직을 실행하는 역할만 담당한다. 4. 이를 통해 프로그램의 제어 흐름은 AppConfig가 가져가게 된다. 5. 예를 들어 ~ServiceImpl 들은 필요한 인터페이스를 호출하지만 그에 대해 어떤 구현 객체들이 실행될지는 모른다. AppConfig로 분리하기 이전 코드 : private final Test.. 파일시스템(File System) 목차 1. 파일 시스템의 정의 2. 데이터 저장 과정 3. 데이터 찾는 과정 4. 파일 시스템의 종류 1) FAT(File Allocation Table) 2) FAT12 3) FAT32 4) exFAT(Extended File Alocation Table) 5) NTFS(New Technology File System) 6) ext 7) ext4 8) APFS(Apple File System) 5. 파일 시스템의 기능 6. 파일 시스템을 사용하는 이유 파일 시스템(File System) 저장 매체에 파일을 저장할 때 쓰는 시스템 중 하나를 말한다. 저장매체란 SSD, USB, 클라우드 등을 말한다. 파일 시스템은 메타(META)와 데이터(DATA) 영역으로 나뉜다. META 영역은 파일명, 권한, 크기.. [인프런]스프링 핵심원리 기본편_좋은 객체 지향 설계의 5가지 원칙(SOLID) 좋은 객체 지향 설계의 5가지 원칙(SOLID) SOLID란, 클린 코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한 것을 말한다. 1. SRP(Single Responsibility Principle) : 단일 책임 원칙 2. OCP(Open-Closed Principle) : 개방-폐쇄 원칙 3. LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 4. ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 5. DIP(Dependency Inversion Principle) : 의존관계 역전 원칙 SRP(Single Responsibility Principle) : 단일 책임 원칙 한 클래스는 하나의 책임만.. [인프런]스프링 핵심원리 기본편_좋은 객체 지향 프로그램이란? 객체 지향 특징 추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것으로, 객체 지향 관점에서 클래스를 정의하는 것을 말한다. 캡슐화 : 객체가 맡은 역할을 수행하기 위한 하나의 목적을 묶는 것으로, 특정 기능을 위한 함수를 작성하는 것을 말한다. 상속성 : 상위 개념의 특징을 하위 개념이 물려받는 것이다. 다형성 : 객체 지향에서 가장 핵심적인 부분으로, 오버라이딩을 예시로 들 수 있다. 객체 지향 프로그래밍이란 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위인 "객체"들의 모임 으로 파악하려 하는 것 이다. 각각의 객체는 메시지를 주고받고 데이터를 처리할 수 있다. 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. (= 다형.. [인프런]스프링 핵심원리 기본편_스프링이란? 스프링이란 스프링이란 여러 기술들의 모음을 말한다. 여기서 여러 기술들이란 필수적인 기술과 선택적인 기술로 나뉘는데, 몇개의 예시를 가져오자면 다음과 같다. 필수 : 스프링 프레임워크, 스프링 부트 선택 : 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 이에 대해 간략하게 정리했다. 스프링 데이터 : CRUD를 좀 더 편하게 할 수 있도록 도와주는 것이다. ex) spring Data JPA 스프링 세션 : 세션 기능을 더 편하게 쓸 수 있도록 도와주는 것이다. 스프링 시큐리티 : 보안과 관련된 기술이다. 스프링 Rest Docs : API 문서화를 편리하게 해 주는 것이다. 스프링 배치 : 배치 처리에 특화된 기술이다. (배치 처리란, 데이터가.. 이전 1 2 3 4 다음