프로그래밍/Spring 42

[Spring Boot] 입문 - 7. AOP

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 AOP가 필요한 상황 AOP 적용 AOP (Aspect Oriented Programming) 가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶을 때 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶을 때 MemberService 회원 조회 시간 측정 추가 @Transactional public clas..

[Spring Boot] 입문 - 6-2. 스프링 DB 접근 기술

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 스프링 JdbcTemplate JPA 스프링 데이터 JPA 스프링 JDBCTemplate 순수 JDBC와 동일한 환경설정을 하면 된다. 스프링 JdbcTemplate과 Mybatis 같은 라이브리는 JDBC API에서 본 반복 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 스프링 JdbcTemplate 회원 리포지토리 package hello.hellospring.repository; imp..

[Spring Boot] 입문 - 6-1. 스프링 DB 접근 기술

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 H2 DB 설치 순수 JDBC 스프링 통합 테스트 H2 데이터베이스 설치 H2는 자바로 작성된 관계형 데이터베이스 관리 시스템 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 https://www.h2database.com h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. 윈도우 이걸로 참고 https://atoz-develop.tistory.com/entry/H2-Database-%EC%84%..

[Spring Boot] 입문 - 5. 회원 관리 예제 - 웹 MVC 개발

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 회원 웹 기능 - 홈 화면 추가 회원 웹 기능 - 등록 회원 웹 기능 - 조회 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.Controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller..

[Spring Boot] 입문 - 4. 스프링 빈과 의존관계

스프링 입문 김영한 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 스프링 빈을 등록하고, 의존관계 설정하기 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 스프링 빈을 등록하고, 의존관계 설정하기 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 스프링이 뜰 때 스프링 컨테이너가 생긴다. 이 때 스프링이 Controller라는 어노테이션이 붙은 클래스들의 객체를 생성해, 스프링 컨..

[Spring Boot] 입문 - 3. 회원 관리 예제 - 백엔드 개발

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) 일반적인 웹 애플리케이션 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 ex) 회원 중복 가입 불가 비즈니스 도메인 ..

[Spring Boot] 입문 - 2. 스프링 개발 기초

김영한 스프링 입문 강의 정리 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 목차 정적 컨텐츠 MVC와 템플릿 엔진 API 정적 컨텐츠 (Static Content) 동작 방식 내장 톰캣 서버가 요청을 받아 spring에 넘김 스프링부트는 우선 controller에서 요청이 매핑된(hello-static) 컨트롤러를 찾아본다. → 있으면 반환 찾지 못 한 경우 resources: static/hello-static.html을 찾아서 있으면 반환해준다. ex) 정적 컨텐츠 입니다. MVC와 ..

[Spring] 입문 - 1. 환경설정

김영한 스프링 입문 강의 정리 목차 프로젝트 생성 라이브러리 살펴보기 View 환경설정 빌드하고 실행하기 환경설정 IntelliJ JDK 11 프로젝트 생성 Spring Initializr https://start.spring.io/ Maven(과거), Gradle(요즘 추세) 선택 필요한 라이브러리를 가져오고, 빌드하는 lifecycle까지 관리해주는 tool spring boot ver. snapshot, Mn -> 미완성 정식 release 안 됨 Group : 기업 도메인 명 artifact : 빌드 결과물 name, description, packaging : 그대로 해도 상관 없다. dependencies : 프로젝트 시 어떤 라이브러리를 가져와 사용할 add dependencies 버튼클릭 ..

[Spring] CORS 에러

CORS (Cross-Origin Resource Sharing) 서로 다른 Origin(출처)끼리 요청을 주고 받을 수 있게 정해둔 표준, 보안 정책 Origin : 서버의 위치를 찾아가기 위해 필요한 가장 기본적인 것들을 합쳐놓은 것 ex) URL CORS 에러 리액트와 스프링 사이에서 데이터를 전달하는데 CORS 정책 위반으로 에러가 발생했다. CORS를 설정해주지 않았거나 제대로 설정하지 않아 원하는 리소스를 공유하지 못 하는 것이다. CORS 에러 해결 방법 @CrossOrigin 어노테이션을 사용하여 해결했다.