시행착오 과정이 궁금하지 않은 분들은 아래로 이동하세요 현재 검색 관련 쿼리파라미터를 다음과 같이 받고 있다. @GetMapping("/worldcups") public ResponseEntity getWorldCups(@RequestParam(required = false, defaultValue = "1") int page, @RequestParam(required = false, defaultValue = "5") int size, @RequestParam(required = false, defaultValue = "playCount") String sort, @RequestParam(required = false, defaultValue = "DESC") Sort.Direction directio..
Spring 관련해서 요즘 기초부터 다시 보고 있는데 생성자 주입에 관해서 보고 있던 중, 흥미로운 부분을 발견했다. 수정자 주입과 필드 주입이다. (옛날에는 수정자 주입, 필드 주입을 많이 사용했었다고 한다) 수정자 주입 선택, 변경의 가능성이 있는 의존관계에 사용한다 자바빈 프로퍼티 규약의 수정자 메서드 방식을 사용하는 방법이다 set메서드를 public으로 열어둬야 한다 (누군가 변경가능성 있음) @Component public class OrderServiceImpl implements OrderService { private MemberRepository memberRepository; private DiscountPolicy discountPolicy; @Autowired public void..
객체를 생성하는 역할을 하는 클래스의 구성요소 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드 new 키워드를 사용하여 객체를 생성할 때에 호출되는 것이 사실 생성자이다. 생성자라는 이름 때문에 생성자가 인스턴스를 생성하는 역할을 한다는 오해가 발생하는데, 사실이 아니다 인스턴스 생성을 담당하는 것은 new 키워드이며, 생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드이다. 생성자는 메서드와 비슷한 구조를 가지고 있지만 크게 두 가지 부분에서 큰 차이를 갖는다. 생성자의 이름은 반드시 클래스의 이름과 같아야 한다 생성자는 리턴 타입이 없다. (void 키워드도 사용하지 않는다. 리턴하지 않는다는 의미의 void와는 다르게 아예 리턴 타입 자체가 존재하지 않는다.) 클래스명(매개변수) ..