KDT/TIL
2022-10-27 (목) - 미완
imname1am
2022. 10. 31. 22:20
반응형
oBootDBConnect 이어서. . .
Member1.java
듬성듬성
jdbc
- 메모리에 저장하는 거라 Annotation 필요 없음
final로 만들면 인스턴스 못 만듦(?)
MemoryMemberRepository에서 @Repository하면 얘가 Repository로 설정됨.
JPA
oBootJpa01
- lombok
스프링 끄고 실행
Gradle VS Maven (면접)
03.JPA
// 생성자에 @Autowired 가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어줌.
객체 의존관계를 외부에서 넣어주는 것을 DI (Dependency Injection), 의존성 주입이라 함.
이전 에서는 개발자가 직접 주입했고, 여기서는 @Autowired에 의해 스프링이 주입.
스프링 빈을 등록하는 2가지 방법
1) 컴포넌트 스캔과 자동 의존관계 설정
2) 자바 코드로 직접 스프링 빈 등록하기
@Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.
-> @Controller
-> @Service
-> @Repository
CREATE USER scottJpa IDENTIFIED BY tiger;
GRANT DBA TO scottJpa;
컨트롤러 (@Controller) -> 서비스 (@Service) -> 레퍼지토리 (인터페이스) -> 도메인 (@Entity)
build.gradle
plugins {
id 'org.springframework.boot' version '2.7.5'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
id 'java'
}
group = 'com.oracle'
version = 'version1.0'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
get 매핑 -> 조회할 때
post 매핑 -> 수정, 삭제, 입력 할 때 사용
트랜잭션
원자성, 일관성, 고립성, 지속성
롬복 (build.gradle)
buid.gradle = pom.xml
application.properties = web.xml
05.MyBatis
서비스 단위에서 트랜잭션해줘야함,
Member.java -> 테이블에 대한 세팅이 없으면 객체를 찾음 (매핑)
toString하면 객체 조회할 수 있음
반응형