Mapped Statements collection does not contain value for 맵핑명
해결방법mybatis-context.xml에 아래처럼 classpath가 맵핑되어있는데,'Mapped Statements collection does not contain value for' 이 오류가 뜬 경우는 여기에 포함되어 있지 않은 경로이기 때문이다. classpath:경로/*.xml
해결방법mybatis-context.xml에 아래처럼 classpath가 맵핑되어있는데,'Mapped Statements collection does not contain value for' 이 오류가 뜬 경우는 여기에 포함되어 있지 않은 경로이기 때문이다. classpath:경로/*.xml
1. dependency를 추가한다. build.gradle 파일의 dependencies 안에 dev-tools를 추가한다. 그 후 뜨는 코끼리 모양을 눌러 적용해준다. implementation 'org.springframework.boot:spring-boot-devtools' 2. Recompile 설정한다. 변경사항이 있는 파일에 들어간다. 그 후 Build > Recompile '파일명'을 누르면 된다.
1. 왜 AOP가 필요한가? AOP(Aspect Oriented Programming)는 관점 지향 프로그래밍이다. 공통관심사항과 핵심관심사항을 분리하는 것이다. 예를 들어 모든 메소드의 호출 시간을 측정하고자 할 때 수 천개의 메소드마다 일일히 try catch finally문 안에 System.currentTimeMillis();를 배치하는 수고스러움을 줄이고 싶을 때 AOP를 사용한다. 수 천개의 매소드에 코드는 모두 다르지만 공통 코드가 있기 때문에 AOP를 활용해 수고스러움을 덜 수 있다. 2. AOP 실습 1) @Aspect 해당 어노테이션을 써줘야 AOP를 사용할 수 있다. 기초 셋팅은 aop 패키지 > TimeTraceApp 클래스를 만들어 진행한다. package com.hello.hel..
스프링 데이터 JPA는 JPA를 편리하게 도와주는 기술, 라이브러리이다. 스프링 부트와 JPA만 사용해도 개발 생산성이 많이 증가한다. 개발 코드도 확연히 줄어든다. 여기에 스프링 데이터 JPA를 사용하면 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있다. 반복 개발해온 아주 기본적인 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다. 즉, 개발자는 핵심 비즈니스 로직을 개발하는 데 집중할 수 있다. 1. 스프링 데이터 JPA로 이름찾기 놀랍게도 2개의 인터페이스를 상속받고, 아래 1줄의 코드로 이름을 찾는다. JpaRepository는 내가 만들어 놓은 인터페이스가 아닌 라이브러리를 쓴 것이다. 분명 아래 코드는 인터페이스이지만, JpaRepository를 받고 있으면 구현체를..
JPA는 ORM 기술이다. Object와 Relational Database Table을 Mapping해주는 기술이다. 1. JPA 관련 라이브러리 추가 (build.gradle) dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' //여기 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //여기 runtimeOnly 'com.h2database:h2' testImplementation 'org.springf..
1. 데이터베이스 DDL 저장 일단 데이터베이스 구조를 짰던 DDL 쿼리는 Spring에 sql 폴더>ddl.sql 파일을 만들어 저장한다. 2. 데이터베이스 관련 라이브러리 추가 (build.gradle) build.gradle의 dependencies 부분에 'spring-boot-starter-jdbc'와 'com.h2database:h2' 2가지를 추가한다. 자바는 기본적으로 JDBC와 붙으려면 JDBC driver가 꼭 있어야 한다. 그것이 'spring-boot-starter-jdbc' 드라이버이다. JDBC driver와 자바가 붙을 때 JDBC 클라이언트가 필요하다. 그것이 'com.h2database:h2' 클라이언트이다. dependencies { implementation 'org.s..
1. 설치하기 맥이라면 "All platforms" 버전으로 설치한다. 설치 후 압축을 푼다. 2. h2 폴더 접근 다운 다운로드 폴더에 h2를 다운받았고, h2 -> bin으로 접근했다. cd Downloads/h2/bin 3. (Only 맥) 접근 권한 해제 맥일 경우 h2 접근 권한을 해제해야 한다. chmod 755 h2.sh 4. h2.sh 파일을 실행한다. ./h2.sh 파일 실행 시 로딩 화면이 지속되거나 찾을 수 없는 페이지라고 뜬다면, :8082 이전 주소를 localhost라고 바꾼다. => localhost:8082/?key ~~ test.mv.db가 있으면 접근이 가능하다. 난 만들어 준 적이 없는데 그냥 들어가진다...(?) 그 후 jdbc:h2:~/test로 첫 방문에는 이 JD..
스프링 빈을 등록하는 방법은 2가지가 있다. 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 흔히 우리가 자주보는 어노테이션 방식이 1번 방식에 속한다. 1) @Autowired helloController 객체를 생성할 때 memberService를 넣어주기 위해 @Autowired를 이용한다고 가정하자. 아래는 생성자 주입의 예시이다. @Controlloer public class HelloController{ private final MemberService memberService; @Autowired public HelloController(MemberService memberservice){ this.memberser..