본문 바로가기

전체 글618

[Java/Spring] 스프링 빈과 의존관계 설정 [Java/Spring] by 김영한님 @Inflearn 스프링 입문 컴포넌트 스캔과 자동 의존관계 설정 에노테이션으로 Controller - Service - Repository를 연결한다. @Component로 스프링 빈으로 자동 등록 이를 포함하는 다음 애노테이션도 자동 스프링 빈으로 등록된다. @Controller @Service @Repository => 정형화된 패턴 Autowired 애노테이션은 컨테이너 안에 객체화된 객체들끼리 연관관계를 형성 = 연결해준다 스프링이 component를 스캔하는 방식은 실행파일에서부터 시작 => 하위로 스캔 이 애노테이션을 타고 들어가보면 ComponentScan이라는 또다른 애노테이션이 붙어있는 것을 볼 수 있다. 자바 코드로 직접 스프링 빈 등록하기 직접.. 2022. 10. 24.
[Java] 스프링 에러 : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [hello]: would dispatch back to the current handler URL [/hello] again. Check your ViewResolver setup! (Hint: This ma.. Thymeleaf 템플릿엔진 작동시 간단한 매핑을 시도하는 중 아래와 같은 에러 발생 : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [hello]: would dispatch back to the current handler URL [/hello] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause Dependancy가 추가가 안되어 있었다. i.. 2022. 10. 24.
[Java ] 객체 지향에 대한 개념, 계산기 코드 OOP 리팩토링 [Java ] by 홍종완님, 패스트캠퍼스 나만의 MVC 프레임워크 만들기 정확한 답이 존재한다기 보다는 본인의 견해를 갖고 이를 풀어낼 수 있는가에 주목. 객체지향의 4가지 특징 1. 추상화 = Abstraction 2. 다형성 = Polymorphism 3. 캡슐화 = Encapsulation 4. 상속 = Inheritance 추상화란 흔히 말하는 일반화, 단순화의 개념. 불필요한 개념을 제거함으로써 필요한 핵심만 나타낸 것. 복잡성을 낮추기 위한 도구. 다형성은 다양한 형태를 가진 것이라고 할 수 있는데, 하나의 타입으로 여러 객체의 종류를 참조하는 것. 캡슐화란 객체 내부에 세부사항을 외부사항으로부터 감추는 것. 목적은 인터페이스만 공개함으로써 변경하기 쉬운 코드를 만드는 것. 상속은 부모로부터.. 2022. 10. 23.
[Java] 테스트 코드 작성시 ParameterizedTest + MethodSource 코드 작성 예시 의존성 설정 implementation 'org.junit.jupiter:junit-jupiter-params:5.9.0' testImplementation 'org.assertj:assertj-core:3.23.1' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' ParameterizedTest에서 메소드 소스를 받아 작성하여 4개의 연산 테스트를 하나로 묶을 수 있다. public class CalculatorTest { @DisplayName("덧셈 연산을 수행한다") @ParameterizedTest @MethodSourc.. 2022. 10. 23.
[Java ] 테스트 코드를 작성하는 이유, TDD 코드 예시 [Java ] by 홍종완님, 패스트캠퍼스 나만의 MVC 프레임워크 만들기 테스트 코드를 작성하는 이유 1. 문서화 역할 2. 코드에 결함을 발견하기 위함 3. 리팩토링시 안정성 확보 4. 테스트하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음 BDD Behavior Driven Development 1. 시나리오 기반으로 테스트 코드를 작성하는 방법 비밀번호 유효성 검증기 만들어보기 요구사항 - 비밀번호는 최소 8자 이상 12자 이하여야 한다. - 비밀번호가 8자 미만 또는 12자 초과인 경우 IllegalArgumentException 예외를 발생시킨다. - 경계조건에 대해 테스트 코드를 작성해야 한다. 테스트 코드에서 .doesNotThrowAnyException(); /.. 2022. 10. 23.