DAO는 "Data Access Object"의 약자로, 데이터베이스와 직접 상호작용하는 역할
주로 데이터베이스에서 데이터를 조회, 삽입, 업데이트, 삭제하는 메서드를 선언
데이터베이스 연결 및 SQL 쿼리 실행과 관련된 로직을 포함
데이터베이스 테이블과의 직접적인 상호작용을 담당하므로, 데이터 액세스 레이어의 역할을 수행
BoardService 인터페이스:
Service는 비즈니스 로직을 정의하고 이를 실행하는 역할
비즈니스 로직은 데이터베이스 조작 이외의 업무 로직, 예를 들어 데이터의 가공, 검증, 트랜잭션 관리 등을 포함
주로 컨트롤러(Controller)와 DAO 사이에서 중간 역할을 하며, 비즈니스 로직을 담당하는 레이어
비즈니스 로직을 처리하고 결과를 컨트롤러에 반환
요약하면, BoardDao는 데이터베이스와 직접적으로 상호작용하며 데이터 액세스 레이어를 나타내고, BoardService는 비즈니스 로직을 처리하고 이를 컨트롤러에 제공하는 서비스 레이어. 이를 통해 코드의 모듈화와 유지보수성을 향상시킬 수 있으며, 역할과 책임을 분리하여 프로젝트를 더 잘 구성할 수 있습니다.
package com.spring;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**리소스 등록 및 핸들러를 관리하는 객체인 ResoruceHandlerRegistry를 통해
* 리소스의 위치와 리소스와 매칭될 url을 설정한다.*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
/*웹에서 요청할 패턴*/
private String connectPath = "/uploadStorage/**";
/**경로 설정시
* -경로의 마지막은 반드시 "/" 또는 "\"로 끝나야 한다.
* -로컬 디스크 경로일 경우 file:///접두어를 명시해 두어야 한다.
* */
private String resourcePath = "file:///C:\\uploadStorge\\";
/**addResourcehandler: 리소스와 연결될 URL path를 지정.
* addResourceLocations: 실제 리소스가 존재하는 외부 경로를 지정.*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(connectPath)
.addResourceLocations(resourcePath);
}
}
스프링 부트(Spring Boot)는 자바 기반의 웹 애플리케이션을 개발하기 위한 프레임워크로서, 스프링(Spring) 프레임워크를 기반으로 하며 개발자들이 더 간편하게 웹 애플리케이션을 구축하고 실행할 수 있도록 도와줍니다. 스프링 부트는 웹 애플리케이션의 여러 측면을 다루는 다양한 기능과 클래스를 제공하는데, 그 중에서도 Model 클래스는 웹 애플리케이션의 뷰(View)와 컨트롤러(Controller) 사이에서 데이터를 전달하는 역할을 합니다.
Model은 스프링의 MVC 아키텍처(Model-View-Controller)에서 사용되는 개념 중 하나로, 다음과 같은 역할을 수행합니다:
데이터 전달: Model은 컨트롤러(Controller)에서 처리한 데이터를 뷰(View)로 전달하는 데 사용됩니다. 이는 클라이언트에게 보여질 데이터나 웹 페이지의 내용 등을 포함합니다.
데이터 저장: Model은 뷰에서 전달된 데이터를 임시로 저장하는 역할을 수행합니다. 이렇게 저장된 데이터는 뷰에서 필요한 경우에 사용될 수 있습니다.
뷰에 데이터 제공: 뷰는 Model에서 제공한 데이터를 사용하여 웹 페이지를 동적으로 구성하고, 사용자에게 적절한 정보를 보여줍니다.
스프링 부트에서 Model 객체는 주로 컨트롤러 메서드의 매개변수로 선언되며, 메서드 내에서 데이터를 담고 뷰로 전달하는 역할을 수행합니다. 일반적으로 Model은 키-값 쌍으로 데이터를 저장하며, 이 데이터는 뷰에서 해당 키를 사용하여 접근할 수 있습니다.
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
String message = "Hello, Spring Boot!";
model.addAttribute("greeting", message); // 데이터를 Model에 추가
return "helloPage"; // 뷰의 이름을 반환
}
}
프로젝트 생성 후 아래의 내용 순으로 진행하시면 됩니다. 참고해 주세요. 1. 프로젝트 생성 2. pom.xml 설정 3. application.properties 환경설정 파일인 properties 파일 인코딩 변경(UTF-8) 4. 패키지 생성 및 폴더 생성 및 환경 설정에 필요한 파일 생성 5. application.properties 수정 6. 클래스 및 인터페이스 생성.