이번에 우아한테크코스 프로젝트를 진행하면서 받은 요구 사항 중 하나는 “HTTPS 적용하기” 였다. 스프링 톰캣 서버에 HTTPS를 바로 적용할 수도 있지만, 여러 가지 이유로 nginx를 리버스…
수동 빈 등록 방법 설정 클래스에 다음과 같이 새 메소드를 만들어 빈으로 생성하길 원하는 클래스의 객체를 리턴하도록 만든다. 기본적으로 빈의 이름은 클래스명의 첫 글자를 소문자로…
Spring Data는 Repository의 메소드명으로 쿼리를 생성할 수 있는 쿼리 메소드 기능을 제공한다. 복잡한 쿼리문 대신 마치 영어 문장을 쓰듯 원하는 쿼리를 바로 만들어 사용할 수…
스프링에서 한 클래스에 다른 클래스의 의존성을 부여하는 방법은 두 가지가 있다. @Autowired 이용하기 (필드 주입) @AutoWired 어노테이션을 통해 UserController에 UserService를 의존 시켰다. 생성자 주입 이용하기…
JDBC DAO 객체에서, 다음과 같은 코드를 짤 수 있다. 연결을 수립하고, PreparedStatement를 준비한 다음 파라메터를 탑재하고 Insert를 수행하는 이 코드는 구조상 문제가 없어 보이지만 닫아야…
SOLID 설계 원칙이란 다음을 뜻한다. 단일 책임 원칙(Single Responsibility Principle) 개방-폐쇄 원칙(Open-Closed Principle) 리스코프 치환 원칙(Liskov Substitution Principle) 인터페이스 분리 원칙(Interface Segregation Principle) 의존 역전…
자바에서 일급 객체라는 것은 다음과 같은 조건을 만족해야 한다. 변수에 담을 수 있어야 한다. 인자로 전달할 수 있어야 한다. 리턴값으로 전달할 수 있어야 한다. 자바의…
불변성이란 객체가 사용되는 도중 어떤 상황에서도 인스턴스 변수의 값이 변하지 않음을 뜻한다. setter를 뚫어 놓는다면 당연히 그 객체는 불변하지 않다. getter 역시도 컬렉션을 제공할 경우…
자바의 HashMap은 기존의 HashTable 대신에 사용되는 Map을 구현한 자료형이다. 즉 Key와 Value를 가지며 거기에 추가로 고유한 특성으로 ‘해시’를 이용하여 많은 양의 데이터 속에서 더 빨리…
자바에서 상속은 개념적으로는 부모 클래스의 멤버 변수와 메소드를 가져다 사용할 수 있는 자식 클래스를 생성하는 것이며, 구조적으로는 비슷한 클래스들의 공통되는 부분을 합쳐서 중복되는 코드를 줄일…