만들 페이지
1. 홈
1-1) 회원가입 페이지
1-2) 로그인 페이지
2. 게시판 페이지
2-1) 글쓰기 페이지
3. 지도 페이지
4. 갤러리 페이지
종속성 설정
Spring boot Web : RESTful 애플리케이션 제작을 위해
편의 : Lombok(@Getter, @Setter, @Data), DevTools
JPA : SQL과 데이터베이스 테이블 간의 매핑을 위해 사용
Thymeleaf : HTML 템플릿을 통해 뷰를 구성하기 위해 사용
MariaDB : 마리아 DB 쓸라고 사용
디렉토리 설정
ㄴsrc/main/java/com/example/demo
ㄴ DemoApplication.java
ㄴ controller : 사용자의 요청을 처리하고 응답 반환
ㄴ service : Controller로 부터 받은 비지니스 로직 구현
ㄴ repository : DB와의 통신을 담당
ㄴ domain : User 등 사용자 정보를 나타내는 도메인 모델
DemoApplication.java
- 스프링 부트 애플리케이션의 메인 클래스입니다. @SpringBootApplication 애너테이션이 붙어 있으며, 스프링 부트 애플리케이션을 시작하는 부트스트래핑(bootstrapping) 클래스입니다.
controller
- 웹 요청을 처리하는 컨트롤러(Controller) 클래스가 위치하는 패키지입니다. 클라이언트로부터 들어오는 HTTP 요청을 받고, 요청에 대한 처리를 적절한 서비스에 위임한 후, 응답을 반환합니다.
- 예: UserController.java, ProductController.java
service
- 비즈니스 로직을 처리하는 서비스(Service) 클래스가 위치하는 패키지입니다. 컨트롤러로부터 받은 요청을 처리하기 위한 핵심 비즈니스 로직을 구현합니다.
- 예: UserService.java, ProductService.java
repository
- 데이터베이스와의 통신을 담당하는 저장소(Repository) 인터페이스가 위치하는 패키지입니다. Spring Data JPA를 사용할 경우, 이곳에 JPA 리포지토리 인터페이스를 정의합니다.
- 예: UserRepository.java, ProductRepository.java
domain
- 애플리케이션의 도메인 모델이 정의되는 곳입니다. 이 패키지에는 비즈니스 로직의 핵심을 이루는 엔티티(Entity)나 도메인 클래스가 위치합니다.
- 예: User.java, Product.java
CrudRepository 의 기본 메서드
- save(S entity): 주어진 엔티티를 저장합니다. 새로운 엔티티의 추가 또는 기존 엔티티의 업데이트에 사용됩니다.
- findById(ID id): 주어진 ID에 해당하는 엔티티의 인스턴스를 검색합니다. 결과는 Optional<T>로 반환됩니다.
- existsById(ID id): 주어진 ID를 가진 엔티티의 존재 여부를 반환합니다.
- findAll(): 모든 엔티티를 리스트로 반환합니다.
- findAllById(Iterable<ID> ids): 주어진 ID 컬렉션에 해당하는 엔티티들을 검색합니다.
- count(): 저장소에 있는 엔티티의 총 개수를 반환합니다.
- deleteById(ID id): 주어진 ID를 가진 엔티티를 삭제합니다.
- delete(T entity): 주어진 엔티티를 삭제합니다.
- deleteAll(Iterable<? extends T> entities): 주어진 엔티티 컬렉션을 삭제합니다.
- deleteAll(): 저장소의 모든 엔티티를 삭제합니다.
'2024 웹 > Spring & Spring Boot' 카테고리의 다른 글
spring mvc (0) | 2024.04.15 |
---|---|
Spring (0) | 2024.04.11 |
[SpringBoot] Google 이메일 인증 (0) | 2024.04.04 |
[Spring & Spring boot] directory 구조 (0) | 2024.03.13 |
DispatcherServlet & MVC 아키텍처 (0) | 2024.03.11 |
댓글