목록Java (34)
재 현
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bA6Brw/btsyD8wvMiE/ejVrgDm0N5EsB28dkkowQk/img.png)
일반적으로, 데이터베이스 테이블에서 ID 값은 고유한 값으로, 새로운 레코드를 추가할 때마다 자동으로 1씩 증가하는 경우가 많다. 이것은 보통 데이터베이스 시스템의 "auto_increment" 또는 유사한 기능을 통해 구현된다. 이런 동작 방식은 실제 운영 환경에서는 문제가 없지만, 데이터베이스 테스트 환경에서는 예기치 않은 결과를 초래할 수 있다. 뭐가 문제였을까? 예를 들어, 나는 Repository Test를 위해 여러 개의 Test code를 작성했다. 그리고 Test들을 실행시켰더니 에러가 발생했다. 문제가 되는 부분을 보니, Member 객체를 저장한 후 member의 id로 찾으려니 null이 떴다. 저장했던 member의 id를 출력해보니 내가 설정한 1이 아니었다. 테스트를 실행할 때마..
자바 8에서 소개된 Stream API는 다양한 데이터 소스(컬렉션, 배열 등)를 표준화된 방법으로 다루는 강력한 도구입니다. 이 블로그 글에서는 자바 Stream API의 주요 특징과 사용법을 자세히 알아보겠습니다. 스트림(Stream)이란 무엇인가요? 스트림은 자바 8에서 도입된 데이터 처리 방법 중 하나로, 다양한 데이터 소스를 표준화된 방법으로 다룰 수 있게 해줍니다. 이전에는 List, Set, Map 등의 사용 방법이 각각 다르기 때문에 데이터 처리 코드가 복잡해졌습니다. 스트림은 이런 불편함을 해소하고 데이터 소스를 통일된 방식으로 다룰 수 있도록 합니다. 스트림은 데이터 소스를 스트림으로 변환한 후 여러 번의 중간 연산과 최종 연산을 통해 데이터를 처리합니다. 이를 통해 데이터 처리를 효율..
공유를 목적으로 하는 것 아닌 개인 단순 정리 글입니다. was(web application server) 웹서버(정적리소스[html,css,js,이미지])+ 동적(애플리케이션 로직) webserver -> was -> db servlet 비즈니스 로직을 제외한거 다 알아서 해줌 싱글톤, 서블릿컨테이너(객체생성초기화종료까지관리) 동시 요청 - 멀티 쓰레드 쓰레드 생성 비용 너무 비싸, 컨텍스트 스위치 비용 쓰레드풀이 쓰레드 관리(미리생성) -> was가 알아서 해줌 http: html 주기 http api: data(json)주기, ui클라이언트(프론트), 서버to서버 html다하기 -> 서블릿(비즈니스 로직 제외한거 다해줌) -> 비즈니스 로직 혼자 너무 많음 -> mvc -> 춘추전국시대mvc -> ..
공유를 목적으로 하는 것 아닌 개인 단순 정리 글입니다. 1. 환경설정 - Spring Boot ver 3.x.x -> java 17 설치 -> jdk와 sdk를 java 17로 설정 2. 왜 스프링인가? 수많은 프레임워크 중에 왜 스프링? 우리는 객체지향을 알 필요가 있다. 객체 지향 중 다형성의 원리를 지키고자 한다. 하지만 순수 자바로는 DIP, OCP를 지키면서 개발하기 쉽지 않다. 스프링이 그걸 쉽게 해준다. DI Container와 의존성 자동 주입을 해준다. 3. ApplicationContext 스프링 컨테이너이다. Bean으로 등록한 뒤 스프링은 이를 싱글톤으로 유지시켜준다. Bean은 중복되어선 안된다. @Configuration이란 annotation을 붙인 class에 Bean을 등..