Category: Java

Bean과 Component 차이

스프링은 개발의 제어권이 스프링 컨테이너(IoC 컨테이너)에 있다고 한다. 그래서 이를 IoC(Inversion Of Control), 제어의 역전이라고 한다. 스프링이 개발자 대신 객체를 제어하기 위해서는 객체들이 빈(Bean)으로 등록되어있어야 한다. 과거에는 객체를 빈으로 등록하기 위해 XML로 지정했어야 한다고 하는데, 요즘엔 애노테이션으로 간단하

래퍼 클래스(Wrapper Class)

Wrapper Class자바의 자료형은 크게 기본형과 참조형으로 구분된다. 참조형은 참조 주소를 가리키는 데이터 타입이고, 기본형은 실제 값을 갖는 데이터 타입이다. 참고 : DevAndy - 자바 데이터 타입, 변수 그리고 배열 기본형 타입을 객체로 사용해야할 때가 있는데, 이 때 사용되는 데이터 타입이 Wrapper Class이다. 다른 말로 포장객체

맥에서 JDK 버전 변경하기

현재 맥에 설치된 jdk 버전은 1.8이다. 1java -version jdk를 11로 버전 변경해보려고 한다. 먼저 현재 컴퓨터에 설치된 jdk 목록을 확인한다. 1/usr/libexec/java_home -V 현재 컴퓨터에 설치된 JDK 11은 11.0.10 이 최신버전이므로 이걸로 환경변수를 수정한다. .bash_profile 을 수정한다.

스프링 시큐리티 이용하여 패스워드 암호화 적용하기

이 포스팅은 2년전 처음에 작성했던 글을 수정하는 글이다. 스프링 시큐리티를 공부하고 적용한게 아니라 프로젝트중에 빠르게 개발에 적용해본 경험을 기반으로 간단한 튜토리얼을 위한 글임을 서두에 밝힌다. ToC 왜 암호화가 필요한가 Spring Security 의존성 주입 Config 설정 테스트 코드 작성 회원가입/로그인 구현 왜 암호화가 필요한가패스

Java Collection - Queue

Queue는 사전적 의미로 ‘줄’을 의미한다고 한다. 구글에 Queue를 검색하면 사람들이 줄지어 서있는 사진을 볼 수 있다. Queue는 먼저 들어온 데이터가 먼저 나간다고 해서 FIFO(First In First Out)의 형태를 갖는다. Queue는 위의 이미지를 통해 알 수 있듯이 데이터를 넣을때는 Enqueue, 데이터를 삭제할때는 Deque

Java Collection - Stack

Stack은 사전적으로는 ‘더미’를 의미한다. 이 개념을 처음 공부할때 데이터를 수직으로 관리하는 자료구조라고 생각하며 이해했다. Stack은 나중에 들어온 데이터가 먼저 나간다고 해서 LIFO(Last In First Out)의 형태를 띈다고 한다. 따라서 Stack은 배열과 다르게 첫번째로 삽입된 데이터의 인덱스가 0이 아니라 가장 마지막에 삽입된

Equals와 hashCode

이전 포스팅(DTO와 VO 그리고 Entity의 차이)에서 살짝 언급했는데, 이제서야 정리를 하게되었다. equals()와 hashCode()가 무엇이고, 그래서 이들을 언제 사용하는지에 대해 정리해보았다. 무엇인가두 메소드 모두 Object의 메소드이다. equals()는 객체의 값의 일치여부(boolean)을 반환하는 타입이다. hashCode()

스프링 웹 계층구조

스프링부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 프로젝트를 실습하던중, 정리해보면 좋을 부분인것 같아서 정리해보았다. Web Layer 컨트롤러와 뷰 템플릿 영역 외부 요청과 응답에 관한 전반적인 영역 @Filter, 인터셉터, @ControllerAdvice 등 Service Layer @Service 에 사용되는 서비스 영역 일

객체지향 설계 원칙 5가지

지난 포스팅 객체지향 주요특징에 이어 이번엔 객체지향의 주요 5가지 원칙을 정리해보려고 한다. 객체지향 5가지 원칙인프런에서 스프링 핵심 원리 - 기본편을 수강하며 정리한 내용이다. 토비의 스프링을 읽으면서 템플릿 메소드에 대한 내용이 쉽게 와닿지않아서 수강한 내용이었는데, 도움이 많이 되었다. SRP (Single Responsibility Princ

객체지향 주요특징 4가지

객체지향을 공부하며 정리한 포스팅이다. 객체지향의 주요 특징 4가지와 원칙 5가지를 구분하여 2개의 포스팅으로 정리했다. 객체지향 특징 4가지일반적으로 자바라는 언어를 공부하면 공부하게 되는 4가지 특징들이다. 추상화 캡슐화 상속 다형성 추상화 추상화는 실제 세상을 객체화하는게 아니라 필요한 정보만을 중심으로 간소화하는것을 의미한다. 실제 지형도보다