Spring (8) 썸네일형 리스트형 [Spring] AOP 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 🏃🏻♀️ AOP가 필요한 상황 * 모든 메소드의 호출 시간을 측정하고 싶다면? * 공통 관심 사항 (cross-curring concern) vs 핵심 관심 사항 (core concern) = 핵심 비즈니스 로직 * 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService에 메서드 호출 시간을 측정하는 코드를 입력해야 한다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.spring.. [Spring] 스프링 DB 접근 기술 - 2 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. h2 실행을 해둬야 제대로 동작한다. 🏃🏻♀️ 스프링 JdbcTemplate * 순수 Jdbc와 동일한 환경설정을 하면 된다. * 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 1. 스프링 JdbcTemplate 회원 레포지토리 작성 repository 패키지 아래 JdbcTemplateMemberRepository를 생성한다. package hello.hellospring.repository; import hello.hellospring.domain.Member; import org.sprin.. [Spring] 스프링 DB 접근 기술 - 1 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻♀️ H2 데이터베이스 설치 1. 다운로드 H2 데이터베이스 : 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 (admin 화면) 다운로드 URL로 들어가서 설치를 한다. (h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다.) 2. 권한 주기 (Mac 기준) 맥 사용자는 권한을 줘야 하므로, 다운받은 폴더(h2) 아래 bin 폴더로 들어가서 h2.sh 파일 권한을 준다. chmod 755 h2.sh // 파일 권한 주기 3. 실행 h2.sh 파일을 실행하면 다음과 같은 화면이 뜬다. [참고] URL에 localhost:8082~ 이 아니라 이런 식으로 ip 주소가 뜨면, 화면이 뜨지 않는.. [Spring] 회원 관리 예제 - 웹 MVC 개발 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻♀️ 회원 웹 기능 - 홈 화면 추가 controller 패키지 아래에 HomeController 파일을 생성한다. HomeController 안에서 인덱스 페이지 매핑을 하고 있으므로, index.html이 아닌 home.html을 인덱스 페이지로 보여줄 것이다. package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @G.. [Spring] 스프링 빈과 의존관계 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다 🏃🏻♀️ 컴포넌트 스캔과 자동 의존관계 설정 멤버 컨트롤러가 멤버 서비스를 통해 회원가입을 하고, 멤버 서비스를 통해 데이터를 조회할 수 있어야 한다. -> 서로 의존관계가 있다! (컨트롤러가 서비스에 의존한다.) 1. 컨트롤러 controller 패키지에 MemberController 생성 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.st.. [Spring] 회원 관리 예제 (백엔드 개발) 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 🏃🏻♀️ 비즈니스 요구사항 정리 - 데이터 : 회원 ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 - 컨트롤러 : 웹 MVC의 컨트롤러 역할 - 도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 - 서비스 : 핵심 비즈니스 로직 구현 (회원은 중복 가입이 안된다거나..) - 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 클래스 의존관계 - 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 - 데이.. [Spring] 스프링 웹 개발 기초 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 🏃🏻♀️ 정적 컨텐츠 스프링부트에는 정적인 화면을 보여주는 정적 컨텐츠 기능이 있다. 다음과 같이 src/resources/static 폴더에 hello-static.html을 생성했다. 정적 컨텐츠입니다. localhost:8080/hello-static.html을 띄워보면 다음과 같이 나타난다. 정적 콘텐츠 동작 정적 콘텐츠는 다음과 같이 동작한다. 웹 브라우저에서 localhost:8080/hello-static.html로 요청을 보낸다. 그러면 내장된 톰캣 서버가 처리를 해주는데, 1. 먼저 hello-static 관련된 컨트롤러 (src/main/java/hello/hellospring/cont.. [Spring] Spring 개발환경 구축하기 인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술를 정리한 글이다. 기본 환경 - Mac OS - JDK 11 - IntelliJ IDEA CE 🏃🏻♀️ 프로젝트 생성 1. Spring 프로젝트 생성 스프링 부트 스타터 사이트로 이동해서 스프링부트 기반의 스프링 프로젝트를 생성한다. Project : 최근에는 Gradle Project를 대부분 사용한다. Spring Boot : 정식 릴리즈 버전 선택 Project Metadata - Group : 보통 기업명 - Artifact : 빌드되어 나온 결과물 (프로젝트명) Dependencies : 어떤 라이브러리를 사용할 것인지? - Spring Web(웹 프로젝트) - Thymeleaf(HTML 템플릿 엔진) GENER.. 이전 1 다음