일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사
- 스터디
- 세마포어
- 운영체제
- package-private
- 개발
- 우리카드
- OS
- 뮤텍스
- java
- 프로그래밍
- 알고리즘
- IT
- 신입
- 깃
- 디지털
- github
- Effective Java
- Public
- CS
- 자바
- 신입사원
- 컴퓨터과학
- 공채
- 깃허브
- 메모리
- 컴퓨터공학
- 이펙티브 자바
- 스프링
- spring
- Today
- Total
목록스프링 (5)
주니어 개발자 성장기
3장 Object는 객체를 만들 수 있는 구체 클래스지만 기본적으로는 상속해서 사용하도록 설계되었다. Object에서 final이 아닌 메서드(equals, hashCode, toString, clone, finalize)는 모두 재정의(overriding)를 염두에 두고 설계된 것이라 재정의 시 지켜야 하는 일반 규약이 명확히 정의되어 있다. 일반 규약에 맞게 해당 메소드를 overriding 해야 일반 규약을 활용하는 클래스들(HashMap, HashSet)이 오동작하지 않게 된다. finalize는 이전 장에서 다루었으므로 더이상 언급하지 않는다. 개요equals 메서드는 overriding하기 쉬워 보이지만 곳곳에 함정이 있으므로 필요하지 않은 경우 overriding하지 않는 것이 최선이다. 그..
RestTemplate이란? 스프링 3.0에서부터 지원하는 RestTemplate은 HTTP 통신에 유용하게 쓸 수 있는 템플릿이다. REST 서비스를 호출하도록 설계되어 HTTP 프로토콜의 메서드(GET,POST,DELETE,PUT)에 맞게 여러 메서드를 제공한다. RestTemplate 특징 통신을 단순화하고 RESTful 원칙을 지킨다 멀티쓰레드 방식을 사용 Blocking 방식을 사용 의존성 설정 기본 스프링 부트 의존성을 추가한다면, 자동으로 추가된다. WebClient란? WebClient는 스프링 5.0에서 추가된 인터페이스다. 스프링 5.0 이전에는 비동기 클라이언트로 AsyncRestTemplate을 사용했었다. 하지만 스프링 5.0 이후부터는 WebClient를 사용할 것을 권장한다. ..
AOP란 공통 관심 사항(cross-cutting concerns)과 핵심 관심 사항(core concerns) 중에서 공통 관심 사항을 축약할 수 있도록 도와주는 기술이다. 공통 관심 사항이란, 비즈니스 로직에서 공통적으로 필요한 항목들(메서드의 호출 시간 측정)을 말하고 핵심 관심 사항은 비즈니스 로직에서 다른 비즈니스와 구분되게 해주는 핵심적인 것이라고 할 수 있다. 메서드가 호출되면 AOP가 이를 인터셉트해서 코드를 중간 중간에 실행해주고 어떤 때에 인터셉트 할지 안할지를 쉽게 프로그래밍 할 수 있다. 그럼 어떻게 적용할까? @Aspect @Component public class TimeTraceAop { @Around("execution(* hello.hellospring..*(..))") p..
스프링 컨테이너 안에 스프링 빈으로 등록하는 방법 1. 컴포넌트 스캔과 자동 의존관계 설정 각 클래스 바로 위에 @Controller @Service @Repository 등의 어노테이션을 추가하면 해당 클래스는 Component가 된다. (이것은 각각의 어노테이션을 찾아가 보면 안에 @Component 어노테이션이 존재하기 때문이다.) Spring이 실행될 때 컴포넌트 스캔을 하는데 이 때, @Component이 들어가 있는 클래스들은 Spring 컨테이너 안에 객체가 하나씩 자동으로 생성이 된다. 스프링이 실행될 때 컴포넌트 스캔시 해당 어노테이션이 있으면 직접 스프링 빈을 등록한다. @Bean 어노테이션을 통해서 스프링 빈을 수동으로 등록한다. *컨트롤러는 스프링이 관리하기 때문에 수동으로 하면 안..
Shift + F6 변수 리팩토링 soutv value를 출력하는 함수를 자동완성 Command + Shift + Enter 끝에 세미콜론 자동으로 찍어주는 단축키 Option + Command + V 자동으로 변수 넣기 /* 입력 + Enter /* */ */와 함께 주석의 공간을 만들어준다. /** 입력 + Enter /** * * @param 변수이름 * @return */ 위와 같이 자동으로 바뀐다. Control + T 리팩토링과 관련된 작업을 할 수 있는 단축키 그 중 8.Extract Method ->Method로 뽑아버리기 단축키는 Option + Command + M Command + Shift + T 새로운 테스트를 만드는 단축키