어노테이션은 다른 프로그램에게 유용한 정보를 제공하기 위해 사용되는 것으로 주석과 같은 의미를 가진다.
@AllArgsConstructor //여기에 필드에 쓴 모든생성자만 만들어줌
@NoArgsConstructor //기본 생성자를 만들어줌
@Data // getter, setter 만들어줌
allArgsConstructor이 있으면 필드 수에 상관없이 자동으로 넣어주지는 않고
UserDTO(id,name,email,age,mobile,profile_image,gender,birthyear,birthday){
this.id=id;
이런식으로 this.email, age 다 만들어주는거임
}
package org.book.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor //여기에 필드에 쓴 모든생성자만 만들어줌
@NoArgsConstructor //기본 생성자를 만들어줌
@Data
public class UserDTO {
private String id;
private String name;
private String email;
private String age;
private String mobile;
private String profile_image;
private String gender;
private int birthyear;
private String birthday;
}
@RequiredArgsConstructor
final이 붙거나 @NotNull 이 붙은 필드의 생성자를 자동 생성해주는 롬복 어노테이션
필드 주입방식을 사용한 기존 Service
@Service
public class BannerServiceImpl implements BannerService {
@Autowired
private BannerRepository bannerRepository;
@Autowired
private CommonFileUtils commonFileUtils;
@RequiredArgsConstructor 를 활용한 생성자 주입
@Service
@RequiredArgsConstructor
public class BannerServiceImpl implements BannerService {
private final BannerRepository bannerRepository;
private final CommonFileUtils commonFileUtils;
...
@RequiredArgsConstructor를 사용하지 않으면 원래는 이렇게 생성자 주입을 해야한다
@Service
public class BannerServiceImpl implements BannerService {
private BannerRepository bannerRepository;
private CommonFileUtils commonFileUtils;
@Autowired
public BannerServiceImpl(BannerRepository bannerRepository, CommonFileUtils commonFileUtils) {
this.bannerRepository = bannerRepository;
this.commonFileUtils = commonFileUtils;
}
...
application.properties
application.properties는 Spring과 관련된 설정을 할 때 사용되는 파일입니다.
Spring과 SpringBoot의 차이에 대해 학습할 때 SpringBoot를 사용하면 개발에 필요한 설정 정보들이 자동으로 설정된다고 배웠습니다.
이 파일을 사용하면 자동으로 설정되고 있는 설정 값을 쉽게 수정할 수 있습니다.
뿐만아니라 DB 연결 시 DB의 정보를 제공해야하는데 이러한 경우에도 이 파일을 이용하여 쉽게 값을 전달할 수 있습니다.
Apache Tomcat을 사용하여 서버를 실행하면 기본 port 설정이 8080으로 되어있습니다.