반응형 Spring54 [Spring] TDD 도입기(2) feat) Service 계층 이번에는 Servie 계층을 구현하려고 합니다. 우리 화면에서 이메일과, Role 을 헤더 부분에 보여주려고 합니다.앞에서 레포지토리 계층을 개발했던 것처럼 이번에도 서비스 계층에 대한 테스트 클래스부터 작성해 주면 됩니다.. 서비스 테스트 만들기 맥북 기준 cmd + shift + t 입니다. 근데 원래는 서비스 클래스를 만드는것보다 서비스 테스트코드를 먼저 짜야하기 때문에 순서가 바뀌었지만.클래스명만 만들고 만드는것도 나쁘지 않은거 같습니다. 왜냐하면 폴더 위치까지 다 알아서 만들어 주기 때문이죠 서비스 계층은 데이터 베이스에 데이터를 처리하는 Repo 계층을 모킹하기 위해 MockitoExtension 에서 실행 되도록 합니달. Mockito 도 테스팅 프로임 워크이기 떄문에 JUnit 과 결합되.. 2024. 12. 22. [Spring] TDD 도입기(1) feat) Repo Layer 이번에 그로우 업 프로젝트를 진행하면서 같이 프로젝트를 하는 친구와 TDD를 도입 해보도록 하였습니다. TDD 는 테스트 주도 개발이라고 합니다. 반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현합니다. 실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는 것과, 실패하는 테스트를 통과할 정도의 최소 실제 코드를 작성해야 하는 것입니다. 이를 통해 실제 코드에 대해 기대되는 바를 보다 명확하게 정의함으로써 불필요한 설계를 피할 수 있고, 정확한 요구사항에 집중할 수 있습니다. TDD 의 효과로 디버깅 시간을 단축하고, 작성한 코드가 가지는 불안정성을 개선해 생산성을 높일 수 있습니다. 보통 테스트를 위해 JUni.. 2024. 12. 21. [Spring] 카카오 로그인 구현 2 다음은 스프링에서 구현해보겠습니다. 일단 yml 파일을 건드려 줍니다.security: oauth2: client: registration: kakao: client-id: ${CLIENT_ID} client-secret: ${CLIENT_SECRET} client-authentication-method: client_secret_post client-name: kakao authorization-grant-type: authorization_code redirect-uri: http://localhost:8080/login/oauth2/code/kakao scop.. 2024. 12. 16. [Spring] yml 파일 env로 관리하기 보통 프로젝트를 하면 로컬용, prod(배포) 용 나눠서 개발합니다. 로컬용을 쓸때 보통url: jdbc:mariadb://localhost:3306/ 이런식으로 때려박게 되는데요 그렇게 되면 이런 url이 아닌 카카오 client-id , client-secret 등이 탈취 될 위험이 있기때문에env 파일을 만들고 거기에 키 밸류로 보관한 후 yml 파일에서 쓰는 형식으로 갑니다. resources 에 env 파일 만들기 2. intellij → settings → marketplace → EnvFile 설치3. local.env 추가하기- edit configurations 눌러주고요- Enable EnvFile 해주고+ 를 눌러서 직접 local.env를 지정해주시고 Apply 해주시면 됩니다. .. 2024. 12. 13. [Spring] 의존관계 높은 프로그램의 특징 의존성 주입 (DI) 은 객체가 필요로 하는 의존 객체를 외부에서 주입 하는 방식으로 객체 간의 결합도를 낮추는데 도움을 준다.의존성 주입을 통해 객체는 자신이 사용할 의존 객체를 직접 생성하지 않고 외부에서 생성된 객체를 주입받기 때문에 객체간의 결합도를 낮추는데 도움을 준다.이로 인해 객체는 자신의 구현에만 집중할 수 있으며, 변경에 유연하게 대응할 수 있다.생성자주입 (주로사용)객체 생성 시점세터주입인터페이스 주입생성자 주입이 주로 사용되는 이유필드 주입의 단점외부에서 수정 불가능수정자 주입의 단점변경의 가능성을 열어두기 때문에, 다른 곳에서 임의로 객체를 변경할 수 있어 에러가 발생할 위험이 높다.객체의 불변성 확보테스트 코드 작성의 편리함순환 참조 방지개발자의 의존성 주입 실수 방지 (final.. 2024. 8. 22. [Spring/JPA] SpringContext, ApplicationContext, BeanFactory 관계 그리고 SpringSecuritycontext 와 SpringContext 의 관계 최근 제 주변 코딩 잘하는 사람이 면접을 보고 왔는데 질문이 SpringSecuritycontext 와 spring context 라이프사이클을 섞어서 설명하고 포크되는 순간과 어떻게 동작하는가였습니다. 질문을 듣는 순간 머리가 멍 해졌고 생각해보지도 못한 질문이였습니다.오늘은 그 라이프사이클을 파악하면서, Spring Context, Application Context, SpringSecurityContext 에 대해 알아보도록 하겠습니다. 일단 저 문제에 대한 정답을 먼저 알려드리자면 Spring Application 이 시작될때 ApplicationContext가 초기화 되고 Application의 설정 정보와 빈 정보를 로드하고, 모든 빈을 생성 및 초기화 하는 단계입니다. 이 때 Spri.. 2024. 7. 10. 이전 1 2 3 4 5 ··· 9 다음 반응형