목록Spring/스프링 입문 (4)
juuuding
* 스프링 빈(Spring Bean)이란? - Spring IOC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부른다. IOC(Inversion Of Control)의 정의와 특징은 다음과 같다. [IOC의 정의와 특징] 1) 처음 배우는 자바 프로그램에서는 각 객체들이 프로그램의 흐름을 정하고 각 객체를 직접 생성하고 조작하는 작업(객체를 직접 생성하여 메소드 호출)을 했다. 즉, 모든 작업을 사용자가 제어하는 구조였다. 2) 하지만 IOC가 적용된 경우, 객체의 생성을 특별한 관리 위임 주체에 맡긴다. 이 경우 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다. 즉, 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC(제어의 역전)이라고 한다. 컴포넌트..
비즈니스 요구사항 - 데이터: 회원 ID, 이름 - 기능: 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) [일반 웹 web application 계층 구조] - 컨트롤러: 웹 MVC의 컨트롤러 구현 - 서비스: 핵심 비즈니스 로직 구현 - 리포지토리: database에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등 주로 DB에 저장하고 관리됨 * 도메인의 사전적 정의는 "A domain is a field of study that defines a set of common requirements, terminology, and functionality for any software program constructe..
정적 컨텐츠 - 파일에 프로그래밍 같이 어떤 것을 하는 거 없이 그대로 넘겨주는 것 MVC와 템플릿 엔진 MVC: Model View Controller Model, Controller -> 내부 처리(서버 뒷단) 집중, business logic View -> 화면을 그리는데 역량 집중 [Controller] @Controller public class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model){ model.addAttribute("name", name); return "hello-template"; } } - @RequestParam은 par..
라이브러리 *Gradle은 의존관계가 있는 라이브러리를 함께 다운한다. 1. 스프링 부트 라이브러리 - spring-boot-starter-web + spring-boot-starter-tomcat: 톰캣 (웹서버) + spring-webmvc:스프링 웹 MVC - spring-booit-starter-thymeleaf: 타임리프 템플릿 엔진(View) - spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅 + spring-boot ~ spring-core + spring-boot-starter-logging ~ logback, slf4j 2. 테스트 라이브러리 - spring-boot-starter-test + junit: 테스트 프레임워크 + mockito: 목 라이브러..