ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor에 대해서
    Back-end/Spring 2023. 12. 19. 17:01
    반응형

    들어가기

     Lombok 라이브러리의 어노테이션 @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor에 대해서 알아보자.

     

    @NoArgsConstructor

     @NoArgsConstructor는 파라미터가 없는 디폴트 생성자를 자동으로 만들어주는 어노테이션이다.

    @NoArgsConstructor
    public class Dog {
        private String name;
        private int age;
    	
        // Omitted Getter & Setter
    }
    public class Dog {
        private String name;
        private int age;
    	
        // Omitted Getter & Setter
        
      	public Dog() {
        }
    }

    @AllArgsConstructor

     @AllArgsConstructor는 모든 멤버 변수를 파라미터로 받는 생성자를 자동으로 만들어주는 어노테이션이다.

    @AllArgsConstructor
    public class Dog {
        private String name;
        private int age;
    	
        // Omitted Getter & Setter
    }
    public class Dog {
        private String name;
        private int age;
    	
        // Omitted Getter & Setter
        
        public Dog(String name, int age) {
        	this.name = name;
            this.age = age;
        }
    }

    @RequiredArgsConstructor

     @RequiredArgsConstructor는 fianl 키워드가 붙은 멤버 변수나 @NotNull 어노테이션이 붙은 멤버 변수의 생성자를 자동으로 만들어주는 어노테이션이다.

    @Service
    @RequiredArgsConstructor
    public class BlogService {
    	private final BlogRepository blogRepository;
    }
    @Service
    public class BlogService {
    	private final BlogRepository blogRepository;
        
        @Autowired
        public BlogService(BlogRepository blogRepository) {
        	this.blogRepository = blogRepository;
        }
    }
    반응형
Designed by Tistory.