ORM 이란? (In Spring) [Spring Data Jpa]
2022. 5. 2. 17:53
개발 저장소/Spring
컴파일 vs 인터프리터 (Compile vs Interpreter)
2022. 5. 1. 01:24
개발 저장소/Java Inventory
쉽게 예시를 들어 생각을 정리하는 것을 좋아하기 때문에 나만의 예시를 들어보겠다. 축구를 주제로 예시를 만들 것이다. >> 축구경기를 하기 위해선 >> 축구선수 + 코치 + 감독 + 의료진이 있어야한다. 컴파일방식 축구경기를 나가기 직전, 축구선수와 코치, 감독, 내부 의료진이 있는지 확인 후 그 경기에서 사용할 전술과 선수들의 컨디션을 체크하고 경기에 내보낸다. ** 축구선수, 코치, 감독을 체크하는 것을 문법을 체크하는 과정이라고 비유 한 것이다. ** 전술과 선수들의 컨디션을 체크하는 것을 라이브러리 등을 체크하는 과정이라고 비유 한 것이다. ** 컴파일 방식에서는 내부 의료진 이라고 비유했는데, 이는 메모리 공간에 대해 비유 한 것이며 메모리 공간을 미리 확보 한 후 실행시켜주는것이다. 인터프리터..
Java 8 Stream vs For
2022. 4. 30. 18:27
개발 저장소/Java Inventory
Java 8 문법을 공부하다, Stream을 배운 후 정말 편리한 기능이구나 라는걸 느끼면서 근데 성능은 어떻게 되려나...? 하는 궁금증이 생겨 찾은 내용을 정리했다. 우선 결론부터 말하자면 Stream은 알고리즘 문제를 풀거나 시간효율적인 측면에서 중요한 곳에서는 안쓰는게 맞는 것 같다 For-loop(반복문)을 이용한 배열 접근 후 최댓값 도출 int[] a = ints; int e = ints.length; int m = Integer.MIN_VALUE; for(int i=0; i m) m = a[i]; Stream을 이용한 배열 접근 후 최댓값 도출 int m = Arrays.stream(ints) .reduce(Integer.MIN_VALUE, Math::m..
Component Scan 탐색 위치 (주요 어노테이션) , 필터
2022. 4. 20. 19:33
개발 저장소/Spring
어노테이션에는 상속관계가 없으므로 어노테이션이 특정 어노테이션을 갖고 있는 것을 인식하는 것은 자바가 아닌 스프링이 지원하는 기능이다. @Configuration : 스프링 설정 정보로 인식, 스프링 빈이 싱글톤을 유지하도록 처리함 @Controller : 스프링 MVC 컨트롤러로 인식 @RestController : Restfull 컨트롤러로 인식 @Repository : 스프링 데이터 접근 계층으로 인식, 데이터 계층의 예외를 스프링 예외로 변환 @Service : 별 기능은 없음. 사용자 편의성(비즈니스 로직 인식 부여) includeFilter -> 스프링 빈에 등록할 어노테이션 추가 excludeFilter -> 스프링 빈에 등록하지 않을 어노테이션 추가
BeanFactory vs ApplicationContext 짧고 굵게 요약
2022. 4. 18. 22:01
개발 저장소/Spring
BeanFactory 빈 팩토리는 스프링 컨테이너의 최상위 인터페이스 스프링 빈을 관리하고, 조회하는 역할 getBean()을 제공한다. ApplicationContext 빈 팩토리 기능을 모두 상속받아서 제공 빈 팩토리에서 부가적인 기능 제공 - 부가기능 메시지소스 -> 한국에서 들어오면 한국어, 영어에서 들어오면 영어로 출력 등 환경변수 -> 로컬, 개발, 운영등을 구분해서 처리 애플리케이션 이벤트 -> 이벤트 발행 리소스조회 -> 외부 파일 조회, 파일, 클래스 패스 등 편리하게 조회 BeanFactory 나 ApplicationContexxt를 스프링 컨테이너라고 한다. 웬만하면 ApplicationContext를 사용한다.