분류 전체보기60 Spring Boot JPA @ManyToOne, @OneToMany ● @ManyToOne, @OneToMany 이란 ? @ManyToOne과 @OneToMany는 JPA에서 관계형 데이터베이스의 관계를 매핑할 때 사용되는 주된 어노테이션이다. 두 어노테이션을 통해 객체 간의 관계를 표현하고 데이터베이스 테이블 간의 관계를 설정할 수 있다. ● 주요 특징 @ManyToOne ● 다대일 관계를 표현한다. 하나의 엔티티가 여러 다른 엔티티와 관련이 있을 때 사용한다. ● 부모 - 자식 관계에서 자식 엔티티가 부모 엔티티에 속할 때 사용한다. ● 부서엔티티와 직원 엔티티가 있다면, 직원 엔티티에 @ManyToOne 어노테이션을 사용하여 해당 부서를 참조할 수 있다. @OneToMany ● 일대다 관계를 표현한다. 하나의 엔티티가 여러 다른 엔티티와 관련이 있을 때 사용한다. .. Spring Boot @ResponseBody @ResponseBody를 사용하여 HTTP의 BODY에 문자 내용을 직접 반환할 수 있다. viewResolver 대신에 HttpMessageConverter이 동작한다. 이때 문자내용이 단순 문자열이라면 StringHttpMessageConverter가 동작하고 객체라면 MappingJackson2HttpConverter이 작동한다. 결과로 볼 수 있듯이 URL의 ? 이후의 속성 값이 넘어온다. Spring Boot Welcome Page 스프링 부트에서는 Welcome Page (최초 화면) 기능을 제공한다. src/main/resources/static 경로에 index.html을 작성하면 Welcome page 기능을 한다. 정상적으로 작동하는 결과를 볼 수 있다. Spring Boot 라이브러리 build.gradle파일에는 최초의 프로젝트 생성시 추가했던 라이브러리인 thymeleaf와 spring web이 추가되어있고, test라이브러리가 자동적으로 추가되었다. 하지만 위의 것들은 추가된 라이브러리중 일부이다. External Libraries을 확인해보면, apache, tomcat, xml, junit 등 직접적으로 추가하지 않은 라이브러리들도 불러와진다. Gradle과 Maven 같은 빌드 툴들은 의존관계를 다 관리해주기 때문에 직접 추가했던 라이브러리인 spring web과 thymeleaf에 의존관계가 있는 모든 라이브러리를 자동적으로 추가해준 모습이다. IntelliJ의 Gradle를 확인해보면 내가 추가한 라이브러리와 그 라이브러리와 의존관계에 있는 모든 라이브러리 들을 확인할 .. Spring Boot 파일 구조 위 사진에서 .idea는 IntelliJ가 사용하는 설정 파일이다. gradle는 gradle관련된 폴더이다. src는 main과 test가 있는데 main이하에는 자바와 resources파일이 있고 test는 테스트코드와 관련된 소스코드들이 들어간다. 최근 개발 트랜드에서는 테스트 코드의 중요도가 높아지기 때문에 src내에서도 따로 나눠 놓은 것을 볼 수 있다. java에는 자바 소스 코드, resources에는 자바 코드 파일을 제외한 xml, properties와 같은 설정파일들이 들어간다. html도 마찬가지이며 자바를 제외한 거의 대다수의 것들이 resources라고 보면 된다. bulid.gradle의 코드이다. 버전 설정과 라이브러리를 가져오는 역할을 한다. dependencies에는 htt.. Spring Boot 프로젝트 생성 https://start.spring.io/ 위 링크를 사용하여 프로젝트를 생성하였다. 해당 사이트가 나오게되는데, 먼저 Project의 Gradle과 Maven은 라이브러리와 빌드하는 것의 라이프 사이클을 관리해주는 툴이다. 과거에는 Maven을 사용하고 최근엔 Gradle을 많이 사용한다고 한다. Language는 Java이고 JDK-17을 사용중이다. Spring Boot의 버전중 SNAPSHOW는 아직 만드는 중인 버전이고 M3는 정식 릴리즈가 된 버전이 아니다. 그렇기 때문에 3.2.4를 골랐다 Project Metadata의 Group는 그룹명, Artifact는 빌드되어 나온 결과물(프로젝트명), Name은 프로젝트 명이다. 우측의 Dependencies가 중요하다. 라이브러리를 추가할 수 .. 이전 1 2 3 4 ··· 10 다음