카테고리 없음

5월 9일 SpringBoot 수업 Chapter04_JPA

jyee 2023. 5. 9. 21:19
728x90
반응형

project :Chapter04_JPA

1.pom.xml 
2.application.properties
3.Main 클래스 
4.JSP지원하지 않음 => EclipseMarketㅁPlace  =>타임리프 x , 리액트 또는 뷰

 

 

▶ pom.xml에 apache.tomcat 그리고  javax.servlet을 추가해준다. 

 

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication
@ComponentScan(basePackages = {"user.controller", "user.service"})
@EntityScan("user.bean")  // 이걸 해줘야 table usertable이 생성됨
@EnableJpaRepositories("user.dao")
public class Chapter04JpaApplication {

    public static void main(String[] args) {
        SpringApplication.run(Chapter04JpaApplication.class, args);
    }

}

 

 

@ComponentScan은 Spring Framework가 bean으로 등록해야하는 패키지를 지정한다. 이 어노테이션을 사용하면 Spring Framework가 자동으로 해당 패키지와 하위 패키지의 클래스를 검색하여 bean으로 등록한다.

 

@EntityScan

어노테이션으로 엔티티 클래스를 스캔할 곳을 지정하는데 사용한다.

이 어노테이션을 사용하면 JPA가 해당 패키지와 하위 패키지의 클래스를 검색하여 엔티티로 등록한다.

메인 어플리케이션 패키지 내에 엔티티 클래스가 없는 경우 어노테이션을 사용해서 패키지밖에 존재하는

엔티티를 지정할 수 있다.

기본적으로 @EnableAutoConfiguration 어노테이션에 의해서 지정한 곳에서 엔티티를 스캔한다.

 

@EnableJpaRepositories

- JpaRepository에 대한 설정정보를 자동적으로 로딩하고 이 정보를 토대로 Repository 빈을 등록하는 역할을 한다

 

 

Optional 클래스란?

- Optional이란 'null일 수도 있는 객체'를 감싸는 일종의 Wrapper 클래스이다.

 

‼️‼️‼️ 순서도 흐름 ‼️‼️‼️

 

src 
         main
               webapp
                     web-inf
                             index.jsp 

package: main.controller 

MainController.java 파일 만들고 http://local:8080 했을 때 index.jsp가 브라우저에 떠야한다. 

그 다음 index 파일로 가서 등록 a href="/user/writeForm "를 넣는다. 

user.controller 패키지를 만들고 UserController.java 파일을 만든다. 

 

그냥 눈으로 다시 보는걸로 하는 나를 믿을 수가 없어서 

다시 만들어보기 하고 있는데 시간이 엄청 걸린다... 그리고 생각보다 나는 아는게 없다는걸 깨달았다...

겨우겨우 

 

728x90
반응형