🔍 데이터베이스 관리자, DBMS 데이터베이스를 관리하기 위한 소프트웨어 DBMS(database management system)! 데이터베이스는 많은 사람들의 공유로 동시 접근 할 수 있어야 합니다. DBMS는 이런 요구사항을 만족하면서도 효율적으로 관리하고 운영합니다. 대표적으로 MySQL, Oracle이 있습니다. ✔ 관계형 DBMS (relational DBMS : RDBMS) 관계형 모델을 기반으로 하는 DBMS! 테이블 형태로 이루어진 데이터 저장소입니다. (이 책은 개발시 H2, 실제 서비스에서는 MySQL 사용할 예정입니다.) H2 : 자바로 작성되어 있는 RDBMS. 스프링 부트가 지원하는 인메모리 관계형 데이터베이스입니다. 데이터를 다른 공간에 따로 보관하는 것이 아니라 애플리케이션 ..
🔍 Given-When-Then 패턴 public void getAllMembers() throws Exception { // given final String url = "/test"; Member savedMember = memberRepository.save(new Member(1L, "홍길동")); // when final ResultActions result = mockMvc.perform(get(url)// 1 .accept(MediaType.APPLICATION_JSON)); // 2 // then result .andExpect(status().isOk());// 3 // 4 .andExpect(jsonPath("$[0].id").value(savedMember.getId())) .andE..
🔍 스프링 구조 스프링 부트는 각 계층이 양 옆의 계층과 통신하는 구조를 따릅니다. ✔ 계층 계층이란 각자의 역할과 책임이 있는 어떤 소프트웨어의 구성 요소를 의미합니다. 각 계층은 서로 소통할 수는 있지만 다른 계층에 직접 간섭하거나 영향을 미치지 않습니다. 각 계층은 자신의 책임에 맞는 역할을 수행하며, 필요에 따라 소통합니다. 스프링 부트에는 프레젠테이션, 비즈니스, 퍼시스턴스 계층이 있습니다. ✔ 프레젠테이션 계층 HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할. 이 역할은 컨트롤러가 합니다. 컨트롤러는 스프링 부트 내에 여러 개가 있을 수 있습니다. ✔ 비즈니스 계층 모든 비즈니스 로직을 처리합니다 비즈니스 로직이란 서비스를 만들기 위한 로직을 말합니다. 이 역할은 서비스가 합니..
🔍 Controller 간단한 예제 @RestController public class TestController { @GetMappling("/test") public String test() { return "Hello, World!"; } } http://localhost:8080/test에 접속하면 화면에 Hello, World!가 출력됩니다. 1. localhost의 아이피는 127.0.0.1입니다. 이는 컴퓨터 네트워크에서 사용하는 루프백 호스트명이라는 현재 사용 중인 컴퓨터를 의미합니다. 2. 8080 : 포트 번호 3. test : 경로 (@GetMapping에서 설정한 경로) /test GET요청이 오면 test()메서드를 실행시킨다. 🔍 스프링 부트 스타터 Spring Boot Star..
🔍 스프링의 등장 엔터프라이즈 애플리케이션 : 대규모의 복잡한 데이터를 관리하는 애플리케이션 소프트웨어 분야가 발전하며 이는 점점 복잡해졌습니다. 많은 사용자의 요청을 동시에 처리해야 하기 때문에 서버 성능과 안정성, 보안이 매우 중요한데 이런 것들을 신경쓰면서 사이트 기능, 즉 비즈니스 로직까지 개발하기는 매우 어렵습니다. ? : 누군가 엔터프라이즈 애플리케이션을 위한 개발 환경을 제공해서 기능 개발에만 집중할 수 있도록 만들어주면 얼마나 좋을까 이때 등장한 것이 스프링 프레임워크. 앞서 언급한 서버 성능, 안정성, 보안을 매우 높은 수준으로 제공하는 도구 🔍 스프링을 더 쉽게 만들어주는 스프링 부트 스프링은 설정이 매우 복잡하다는 인식을 확인하고 보완하고자 출시하였습니다. 빠르게 스프링 프로젝트를 설..