전체 글
-
Spring - JPA 에러 Unable to locate Attribute with the the given name on this ManagedTypeSpring 2022. 5. 26. 19:31
Unable to locate Attribute with the the given name on this ManagedType JPA 쿼리에서 이런 에러가 발생하는 경우가 있다. 이 경우에는 public class PersonEntity { @Column(name = "id") private Long id; } column 명인 id 를 다르게 쓴 경우에 발생한다. (ex. "ID"로 쓰거나 "Id" 로 쓴 경우) 쿼리의 column명을 확인해주면 된다.
-
Spring - modelMapper list 매핑하기Spring 2022. 5. 12. 18:30
List list = modelMapper.map(sourceList, List.class); 위의 코드는 아래와 같은 warning이 발생한다. warning: [unchecked] unchecked conversion required: List found: List warning을 없애주는 방법은 아래 코드같이 해주면 된다. List list = sourceList.stream() .map(source -> modelMapper.map(source, Person.class)) .collect(Collectors.toList());
-
Spring - Bean Thread safeSpring 2022. 5. 3. 00:23
스프링 Bean은 싱글턴이고 스프링은 멀티쓰레드 환경이다. 하나의 싱글턴 객체를 멀티쓰레드 환경에서 다루면 thread safe 인지 중요하다. 결론부터 말하면 스프링의 Bean은 stateless 상태에서만 thread safe하다. Bean에 변수가 존재하는 경우에는 thread safe 하지 않다. 그래서 Bean을 쓰려면 1. immutable하게 만들던지 2. stateless하게 만들던지 3. lock을 쓰던지 셋 중에 하나를 해야 한다.
-
Spring - bean 주입과 static 메서드Spring 2022. 5. 2. 18:22
스프링 IoC(Inversion of Control) 스프링 컨테이너가 관리하는 객체들을 Bean이라고 부름 스프링은 이러한 Bean들의 의존성을 관리하고, 객체를 만들어주며, Bean으로 등록해주고 관리한다. 객체의 생성, 소멸 등 관리를 컨테이너에 넘기고 컨테이너에서는 Singletone과 같이 한번만 생성(@Component) static 메서드 의존성 주입을 할 수 없음 의존성이 없는 경우에만 사용 Util성 메서드 클래스에 사용 static 메서드에 의존성이 있는 경우에는 객체를 static 또는 new로 새로 만들어 줘야함. 그러면 스프링 IoC 개념이 깨져서 스프링을 쓸 이유가 없음 static 호출할 때마다 객체 생성, 소멸 관리를 해줘야 함