일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- Javascript
- springboot
- sqld
- 스프링 프레임워크
- 스프링 부트 기본
- 싱글톤
- thymeleaf
- resultMap
- jdbc
- DI
- kafka
- assertThrows
- @Configuration
- 스프링
- spring
- SQL
- DIP
- 스프링 빈
- 필드 주입
- 생성자 주입
- java
- 스프링부트
- 스프링 부트
- 스프링 부트 입문
- mybatis
- 스프링 컨테이너
- db
- assertThat
- Effective Java
- Today
- Total
목록Language (90)
선 조치 후 분석
Design Pattern 소프트웨어 설계 방법 반복되는 패턴처럼 자주 나타나는 클래스 간의 관계를 맺는 방법 소프트웨어 개발은 '요구사항 분석 > 설계 > 구현 > 테스트' 과정을 반복하는데 설계를 올바르고 효과적으로 하기 위해 사용한다. 클래스 관계를 올바르게 맺어야 하는 이유 클래스는 최소한의 단위 기능을 가짐. (즉, 하나의 기능만 갖는 게 좋음) 큰 기능은 이러한 단위 기능을 갖는 클래스들 간의 관계를 통해 개발됨 꼭 필요한 것들만으로 구성된 최적화된 소프트웨어 개발이 용이함 문제 발생시 최소한의 코드 수정으로 유지보수가 용이함 기존 기능에 영향을 주지 않고 새로운 기능 추가가 용이함 GoF (Gang of Four) 디자인 패턴 에리히 감마(Erich Gamma), 리처드 헬름(Richard ..
개발하다 보면 @JsonIgnoreProperties, @JsonIgnore, @JsonIgnoreType 어노테이션을 보게 될 것이다. 제대로 개념을 잡고 왜 사용하는지 개념을 정리해보려고 한다. 3가지 모두 다 Java의 Jackson 라이브러리와 관련이 있으며, JSON 직렬화 및 역직렬화 작업에서 사용되는 인기 있는 라이브러리이다. 직렬화 및 역직렬화 개념에 대해 알고 싶다면 전에 작성해 둔 내용을 참고하자. 2023.09.12 - [Language/Java] - [Java] serialVersionUID @JsonIgnoreProperties 역할 : 클래스 수준에서 사용되며, Jackson이 Java 객체를 Json으로 직렬화 또는 Json을 Java 객체로 역직렬화 작업을 수행할 때 특정 필..

서블릿(Servlet) 자바 웹 애플리케이션을 구성하는 핵심 구성 요소 중 하나로, 웹 서버에서 실행되어 클라이언트의 HTTP 요청을 처리하고 동적인 컨텐츠를 생성하는 자바 클래스이다. 서블릿은 웹 어플리케이션애플리케이션 서버(WAS)에서 실행되며 주로 웹 애플리케이션의 비즈니스 로직을 처리하고 결과를 생성한다. 처리순서 사용자가 웹 서버에 동적인 컨텐츠를 요청하면 웹 서버가 해당 요청을 받는다. 웹 서버는 해당 요청을 웹 어플리케이션 서버(WAS)에 전달한다. 웹 어플리케이션 서버(WAS)는 요청에 맞는 서블릿을 실행하여 동적인 컨텐츠를 생성한다. 웹 어플리케이션 서버(WAS)는 생성된 동적 컨텐츠를 웹 서버로 전달한다. 웹 서버는 생성된 동적 컨텐츠를 사용자의 웹 브라우저로 전송하여 화면에 보여준다...

serialVersionUID는 Java 직렬화(Serialization)에서 사용되는 필드로, 직렬화된 객체의 버전을 식별하기 위한 역할을 한다. 먼저 직렬화(Serialization)와 역직렬화(Deserialization)는 데이터를 이동하거나 저장하는 과정에서 객체의 상태를 변환하고 복구하는 기술이다. 이는 객체 지향 프로그래밍 언어에서 객체를 '바이트 스트림' 또는 다른 형태의 데이터로 변환하고 다시 객체로 변환하는 프로세스를 의미한다. Java에서는 직렬화와 역직렬화를 위해 내장 기능을 제공한다. 바이트 스트림 (Byte Stream) 데이터를 바이트(Byte)의 형태로 처리하는 입출력 스트림 바이트 단위로 읽고 쓰는 데 사용되며, 주로 텍스트 데이터, 이미지, 동영사 등의 이진 데이터를 처리..
개발하는 과정에서 toString과 valueOf 차이를 정확하게 알아야 했던 시점이 있었다. DTO를 만들고 테스트하는 과정에서 갑자기 NullPointerException이 발생했던 적이 있다. 그래서 그 원인을 확인하고 차이점을 정리하였다. toString과 String.valueOf 둘 다 객체를 문자열로 변환하는 메서드로 자주 사용하는 메서드다. 두 메서드 간에는 몇 가지 중요한 차이점이 존재한다. toString() 객체 자체에 정의된 메서드이며, Object 클래스에서 상속된다. 객체가 가지고 있는 내용을 문자열로 표현할 때, 해당 객체 클래스에서 오버라이딩하여 구현할 수 있다. 객체의 문자여을 표현을 반환하기 때문에, 객체가 null 인 경우에는 NullPointerException 발생 ..
POJO (Plain Old Java Object) 특정 프레임워크나 라이브러리에 의존하지 않는 순수한 자바 클래스 POJO는 간단한 데이터 객체를 나타내거나 비즈니스 로직을 포함할 수 있다. 2000년 가을, 마틴 파울러는 EJB(Enterprise Java Bean)보다는 단순한 자바 오브젝트에 도메인 로직을 넣어 사용하는 것이 여러 가지 장점이 있는데도 사람들이 그 EJB가 아닌 '평범한 자바 오브젝트'를 사용하기를 꺼려하는지 의문을 가짐. 사람들이 EJB와 같은 명확한 이름이 없다고 생각하여 POJO라고 이름을 지음. 토비 왈 "진정한 POJO란 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 말한다." [단순히 기술규약과 환경..