일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 우리카드
- 메모리
- 신입
- 개발
- Effective Java
- CS
- 깃허브
- 신입사원
- 정보처리기사
- package-private
- 알고리즘
- 컴퓨터공학
- 세마포어
- 디지털
- java
- 깃
- 이펙티브 자바
- 운영체제
- 스터디
- 프로그래밍
- 자바
- OS
- IT
- Public
- 뮤텍스
- github
- spring
- 스프링
- 컴퓨터과학
- 공채
- Today
- Total
목록Spring (30)
주니어 개발자 성장기
*Appconfig 는 @Configuration 애노테이션이 있고 Bean이 등록되어있는 설정 클래스다. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 위에서 'ApplicationContext'를 스프링 컨테이너라고 한다. 'ApplicationContext'는 인터페이스다. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 애노테이션 기반의 자바 설정 클래스로 만들 수 있다. 'AppConfig'를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 스프링 컨테이너 생성 과정 1. 스프링 컨테이너 생성 'new AnnotationConfi..
IoC(Inversion of Control) 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)라고 한다. 즉, 구현체가 아니라 DI를 해주는 외부의 어떤 것(클래스, 프레임워크 등)이 프로그램의 제어권을 갖게 되는 것을 말한다. *프레임워크 vs 라이브러리 프레임워크는 프로그래머가 작성한 코드를 제어하고, 대신 실행한다. (ex) Junit) 반면, 라이브러리는 프로그래머가 작성한 코드가 직접 제어의 흐름을 담당한다. DI(Dependency Injection) 어떤 클래스의 추상화의 구현체를 외부에서 생성, 연결해주는 것 의존 관계는 정적인 클래스 의존 관계와, 실행 시점에 결정되는 동적인 객체(인스턴스) 의존 관계, 둘을 분리해서 생각해야 한다. 정적인 ..
SRP란 한 클래스는 하나의 책임만 가져야 한다. Single responsibility principle 하나의 클래스는 하나의 역할만을 해야한다. 예를 들어, 할인 정책, 회원 관리, 주문 관리 등의 역할부터 구현 객체를 생성, 연결, 실행 하는 등의 관심사도 분리가 필요하다. OCP란 확장에는 열려있지만, 변경에는 닫혀있어야 한다. Open/Closed principle 소프트웨어 요소를 확장하더라도 코드를 변경할 필요가 없다는 의미이다. 다형성(인터페이스)과 DI를 이용해 이 원칙을 지킬 수 있다. DIP란 구체화에 의존하는 것이 아니라, 추상화에 의존해야 한다. 의존관계 주입(Dependency Injection)은 이 원칙을 따르는 방법 중 하나다. Dependency inversion pr..
RestTemplate이란? 스프링 3.0에서부터 지원하는 RestTemplate은 HTTP 통신에 유용하게 쓸 수 있는 템플릿이다. REST 서비스를 호출하도록 설계되어 HTTP 프로토콜의 메서드(GET,POST,DELETE,PUT)에 맞게 여러 메서드를 제공한다. RestTemplate 특징 통신을 단순화하고 RESTful 원칙을 지킨다 멀티쓰레드 방식을 사용 Blocking 방식을 사용 의존성 설정 기본 스프링 부트 의존성을 추가한다면, 자동으로 추가된다. WebClient란? WebClient는 스프링 5.0에서 추가된 인터페이스다. 스프링 5.0 이전에는 비동기 클라이언트로 AsyncRestTemplate을 사용했었다. 하지만 스프링 5.0 이후부터는 WebClient를 사용할 것을 권장한다. ..
Scheduling 일정 주기로 특정한 작업을 수정하는 것 참고 블로그 https://data-make.tistory.com/699 [Spring Boot] Scheduler 사용해보기(일정 주기로 실행하는 스프링 스케쥴러) The Scheduled Annotation in Spring @Scheduler 를 사용해서 일정한 시간 간격으로, 혹은 특정 일정에 코드가 실행되도록 해보자. Spring Scheduler Dependency Spring Boot starter 에 기본적으로 의존 org.spri.. data-make.tistory.com https://wooncloud.tistory.com/75#cronExpr [Spring] 스케줄러 Cron 사용하기 스프링 프로젝트를 개발하면서 시스템이 커지..
스프링 부트 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본적으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 Tomcat 같은 웹서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링과 3rd party(외부) 라이브러리 자동 구성 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공 관례에 의한 간결한 설정 스프링? 애매모호한 단어 문맥에 따라 다를 수 있다. 스프링 DI 컨테이너 기술 스프링 프레임워크 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 참고: 스프링 핵심 원리 - 기본편 (김영한)