본문 바로가기

전체 글669

[Java/Spring] 스프링 DB 매니지먼트 변천사 / JDBC, JPA, 스프링 데이터 JPA [Java/Spring] by 김영한님 @Inflearn 스프링 입문 JDBC => JdbcTemplate => myBatis / JPA JPA = Java Persistance Api로 2015년 이후 사용이 크게 늘어나고 있다. Jdbc Template 라이브러리를 사용함으로써 기존의 jdbc로 코딩을 해서 가져오는 부분을 간략화할 수 있다. 예컨대 save 메소드에서 jdbc로 구현하고자 한다면 다음과 같은 코드가 필요하다. @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; Re.. 2022. 10. 25.
[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.