Skip to content

Commit 72c948c

Browse files
committed
#35 refactor: 필드 주입 방식 생성자 주입 방식으로 변경
1 parent eb73c90 commit 72c948c

4 files changed

Lines changed: 46 additions & 35 deletions

File tree

backend/src/main/java/com/postdm/backend/domain/auth/api/AuthController.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.postdm.backend.domain.auth.dto.SignUpRequestDto;
77
import com.postdm.backend.domain.email.application.EmailService;
88
import com.postdm.backend.domain.email.dto.CheckCertificationRequestDto;
9-
import com.postdm.backend.domain.member.domain.entity.Member;
109
import com.postdm.backend.global.jwt.dto.TokenInfo;
1110
import com.postdm.backend.global.template.ResponseTemplate;
1211
import io.swagger.v3.oas.annotations.Operation;
@@ -15,7 +14,6 @@
1514
import io.swagger.v3.oas.annotations.tags.Tag;
1615
import jakarta.servlet.http.HttpServletResponse;
1716
import jakarta.validation.Valid;
18-
import org.springframework.beans.factory.annotation.Autowired;
1917
import org.springframework.http.HttpStatus;
2018
import org.springframework.web.bind.annotation.PostMapping;
2119
import org.springframework.web.bind.annotation.RequestBody;
@@ -27,11 +25,14 @@
2725
@RequestMapping("/api/v1/auth")
2826
public class AuthController { // 로그인 및 회원 가입 컨트롤러
2927

30-
@Autowired
31-
private AuthService authService;
28+
private final AuthService authService;
3229

33-
@Autowired
34-
private EmailService emailService;
30+
private final EmailService emailService;
31+
32+
public AuthController(AuthService authService, EmailService emailService) {
33+
this.authService = authService;
34+
this.emailService = emailService;
35+
}
3536

3637
@Operation(summary = "아이디 중복 확인 컨트롤러")
3738
@ApiResponses(value = {

backend/src/main/java/com/postdm/backend/domain/auth/application/AuthService.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,33 @@
1313
import com.postdm.backend.global.jwt.util.JwtProvider;
1414
import jakarta.servlet.http.Cookie;
1515
import jakarta.servlet.http.HttpServletResponse;
16-
import org.springframework.beans.factory.annotation.Autowired;
1716
import org.springframework.beans.factory.annotation.Value;
1817
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1918
import org.springframework.stereotype.Service;
2019

2120
@Service
2221
public class AuthService { // 로그인 및 회원가입 서비스
2322

24-
@Autowired
25-
private MemberRepository memberRepository;
26-
27-
@Autowired
28-
private CertificationRepository certificationRepository;
29-
30-
@Autowired
31-
private BCryptPasswordEncoder bCryptPasswordEncoder;
32-
33-
@Autowired
34-
private JwtProvider jwtProvider;
23+
private final MemberRepository memberRepository;
24+
private final CertificationRepository certificationRepository;
25+
private final BCryptPasswordEncoder bCryptPasswordEncoder;
26+
private final JwtProvider jwtProvider;
27+
private final int refreshedMS;
28+
29+
// 생성자 주입 방식
30+
public AuthService(
31+
MemberRepository memberRepository,
32+
CertificationRepository certificationRepository,
33+
BCryptPasswordEncoder bCryptPasswordEncoder,
34+
JwtProvider jwtProvider,
35+
@Value("${jwt.expiredMS}") int refreshedMS) {
36+
this.memberRepository = memberRepository;
37+
this.certificationRepository = certificationRepository;
38+
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
39+
this.jwtProvider = jwtProvider;
40+
this.refreshedMS = refreshedMS;
41+
}
3542

36-
@Value("${jwt.expiredMS}")
37-
private int refreshedMS;
3843

3944
public void idCheck(String username) { // 아이디 중복확인 서비스
4045
boolean existedUsername = memberRepository.existsByUsername(username); // 데이터베이스에서 사용자 아이디가 존재하는지 여부

backend/src/main/java/com/postdm/backend/domain/email/api/EmailController.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import io.swagger.v3.oas.annotations.responses.ApiResponse;
99
import io.swagger.v3.oas.annotations.responses.ApiResponses;
1010
import jakarta.validation.Valid;
11-
import org.springframework.beans.factory.annotation.Autowired;
1211
import org.springframework.http.HttpStatus;
1312
import org.springframework.web.bind.annotation.PostMapping;
1413
import org.springframework.web.bind.annotation.RequestBody;
@@ -19,8 +18,11 @@
1918
@RequestMapping("/api/v1/email")
2019
public class EmailController { // 이메일 관련 컨트롤러
2120

22-
@Autowired
23-
private EmailService emailService;
21+
private final EmailService emailService;
22+
23+
public EmailController(EmailService emailService) {
24+
this.emailService = emailService;
25+
}
2426

2527
@Operation(summary = "회원가입용 이메일 전송 컨트롤러")
2628
@ApiResponses(value = {

backend/src/main/java/com/postdm/backend/domain/email/application/EmailService.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,27 @@
77
import com.postdm.backend.domain.member.domain.repository.MemberRepository;
88
import com.postdm.backend.global.common.exception.CustomException;
99
import com.postdm.backend.global.common.response.ErrorCode;
10-
import org.springframework.beans.factory.annotation.Autowired;
1110
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1211
import org.springframework.stereotype.Service;
1312

1413
@Service
1514
public class EmailService { // 이메일 관련 서비스
1615

17-
@Autowired
18-
private MemberRepository memberRepository;
19-
20-
@Autowired
21-
private CertificationRepository certificationRepository;
22-
23-
@Autowired
24-
private BCryptPasswordEncoder bCryptPasswordEncoder;
25-
26-
@Autowired
27-
private EmailProvider emailProvider;
16+
private final MemberRepository memberRepository;
17+
private final CertificationRepository certificationRepository;
18+
private final BCryptPasswordEncoder bCryptPasswordEncoder;
19+
private final EmailProvider emailProvider;
20+
21+
public EmailService(
22+
MemberRepository memberRepository,
23+
CertificationRepository certificationRepository,
24+
BCryptPasswordEncoder bCryptPasswordEncoder,
25+
EmailProvider emailProvider) {
26+
this.memberRepository = memberRepository;
27+
this.certificationRepository = certificationRepository;
28+
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
29+
this.emailProvider = emailProvider;
30+
}
2831

2932
public void emailCertification(EmailCertificationRequestDto emailCertificationRequestDto) { // 인증메일 전송 서비스
3033

0 commit comments

Comments
 (0)