sql 조건문 인덱스 힌트 ?
https://gent.tistory.com/306
@service
https://codevang.tistory.com/258
비즈니스 로직이나 respository layer 호출하는 함수에 사용된다. 다른 어노테이션과 다르게 @Component에 추가된 기능은 없다. 하지만 나중에 Spring 측에서 추가적인 exception handling을 해줄 수도 있으니 비즈니스 로직에는 해당 어노테이션을 사용하자.
일반적으로 컴포넌트 클래스들에 @Component를 붙일 수 있지만, @Repository, @Service, @Controller를 붙인다면 도구들이 클래스들을 처리하는데 더 적합하도록 할 수 있고 관점(aspects)에 더 연관성을 부여할 수 있다. - AOP 를 통한 처리가 쉽게 가능하다
@Autowired와 같은 역할을 한다고 보면된다.
@Resource 어노테이션은 빈의 이름을 이용해서 주입할 객체를 검색한다. @Resource 어노테이션을 사용하려면 앞서 @Autowired 어노테이션과 마찬가지로 다음의 두가지만 추가하면된다.
1.자동 주입 대상에 @Resource 어노테이션 사용
2.XML설정에 <context:annotation-config />설정 추가
@Resource 어노테이션은 빈의 이름을 사용해서 주입할 빈 객체를 찾기 때문에, @Resource 어노테이션의 값으로 빈 객체의 이름을 지정한다.
@Resource 어노테이션은 생성자에 적용할 수 없고 필드나 메서드에만 적용할 수 있다.
substring(0,4)
index 번호 0번부터 3번(4X)까지의 값
hashmap 공부
List<Map<String, Object>>
https://edu-coding.tistory.com/32
hashmap vs map
https://velog.io/@goya3014/Map%EA%B3%BC-HashMap%EC%9D%98-%EC%B0%A8%EC%9D%B4
HashMap이란?
Map 인터페이스를 구현한 Class로서, key와 value의 쌍으로 이루어져 있다.
키 객체의 해시 값을 버킷에 저장하는데, 이때 해시 코드의 결과 자료형은 int이다.
하지만 2^32보다 더 많은 객체를 생성할 수 있지만 메모리를 절약하기 위해 표현해야 할 N의 범위보다 적은 M만큼의 배열을 사용한다.
그렇다보니 같은 버켓에 들어갈 확률이 존재하게 되고, 이를 충돌이라 한다.
이 충돌을 해결하기 위한 대표적인 방법으로 개방 주소법과 분리 연결법이 있다.
ModelAndView.setViewName("jsonView"); 설정이유
#{}와 ${} 차이점
https://java119.tistory.com/39