소개
게시글
질문&답변
2024.01.14
부모의 부모 인스턴스
지나가다가 보여서 답변 드려요..! 말씀하신 부분이 맞습니다!! 직접 테스트 해보시는 것도 좋을 것 같아요~ public class ElectricCar extends Car{ public ElectricCar() { System.out.println("ElectricCar 생성"); } } public class Car extends Vehicle { public Car() { System.out.println("Car 생성"); } } public class Vehicle { public Vehicle() { System.out.println("Vehicle 생성"); } } new ElectricCar(); 를 호출하면 Vehicle 생성 > Car 생성 > ElectricCar 생성이 차례로 출력되는 것을 확인 할 수 있습니당
- 0
- 1
- 201
질문&답변
2023.02.12
엔티티 매니저 없이도 DB 값 저장이 가능한건가요??
저도 그 부분이 궁금해서 JpaRepository 구현체를 살펴봤었는데, 내부에서 EntityManager 를 사용해 처리하는 것 같습니당 (사진)
- 0
- 1
- 269
질문&답변
2023.02.09
statefulService 참조를 2개 선언하는 이유
싱글톤 객체가 상태를 가지는 경우 발생할 수 있는 문제점을 보여주시기 위해 두 개의 인스턴스로 보여주신 겁니다! statefulService1 과 2 는 서로 다른 클라이언트가 요청을 하여 생성되었고, 동일한 참조값이기 때문에 statefulService1 이 StatefulService 의 price 필드 값을 변경하였을 때, 전혀 상관이 없는 다른 클라이언트인 statefulService2 도 price 의 값을 변경 또는 접근하는 경우, statefulService1 이 price 값을 변경했기 때문에 영향을 받게 되는 문제가 발생할 수 있다는 것을 알려주시기 위함이라고 이해했습니다~
- 0
- 1
- 265
질문&답변
2023.02.09
어노테이션에 대해서
@Controller , @Service , @Repository 모두 코드를 들여다 보면 @Component 애노테이션이 붙어있을 겁니다. @Component 애노테이션은 컴포넌트 스캔의 대상이 되어 '스프링 빈'으로 등록이 되어 '스프링 컨테이너'가 관리하게 됩니다. 그래서 @Service , @Repository 애노테이션을 사용했을 때와 사용하지 않았을 때의 차이는 스프링 빈으로 등록 및 관리가 되냐 안 되냐의 차이가 있습니다. 또한 @Autowired 는 이름에서 알 수 있듯이, 자동으로 연결해 주는 것입니다. (자동 의존관계 주입) 만약 생성자를 통해 주입을 받는 경우, 생성자가 하나라면 @Autowired 는 생략이 가능합니다. (스프링 빈으로 등록되었을 때에 해당됩니다^^)
- 3
- 2
- 295
질문&답변
2023.02.08
Repository는 싱글톤 상태인가요?
지나가다가 답변 달아봅니다..! 현재까지 예시는 스프링을 사용하지 않은 순수 자바 코드로 의존관계 주입을 설명하셨죠! 박성수 님이 말씀하신 것처럼 싱글톤 객체가 아닙니다~ 싱글톤을 직접 구현하려면 각 클래스 내부에서 생성자를 private 키워드로 외부 접근을 막고, static final로 선언된 인스턴스를 메서드를 통해 반환하는 형식으로 구현을 해야 합니다. 하지만 스프링을 사용하면 직접 구현하지 않아도 싱글톤 객체로 주입 해 줍니다!! 뒤에서 배우게 되실 내용인데, 저도 한 번 더 정리할 겸 답변 달아봅니다..ㅎㅎ
- 1
- 1
- 551