Java-Spring/스프링 입문

자바 / 스프링 / 스프링부트 스터디 정리
Java-Spring/스프링 입문

스프링 입문 - 목차

01. 프로젝트 환경설정 02. 스프링 웹 개발 기초 03. 회원 관리 백엔드 개발 04. 스프링 빈과 의존관계 05. 회원 관리 웹 MVC 개발 06. 스프링 DB 접근 기술 07. AOP

Java-Spring/스프링 입문

[스프링 입문] AOP

AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 // main/java/hello/hellospring/service/MemberService.java public class MemberService { ... // 회원 가입 public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); // 중복 회원 검증 메소드 memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMill..

Java-Spring/스프링 입문

[스프링 입문] 스프링 DB 접근 기술

H2 데이터베이스 설치 1. 1.4.200 버전 h2 데이터베이스 설치 2. h2.bat 실행 3. 데이터베이스 파일 생성 : 내 홈에 있는 경로로 파일 경로 설정 4. 홈 디렉토리에 test.mv.db 파일 생성 확인 5. 파일 확인 이후부터는 jdbc:h2:tcp://localhost/~/test 로 접속 파일을 직접 접근하는 것이 아니라, 소켓을 통해 접근하게 되므로 여러 곳에서 충돌없이 접근 가능 6. Member 테이블 생성/조회/삽입 // 생성 create table member ( id bigint generated by default as identity, // DB가 id 값 자동 생성 name varchar(255), primary key (id) ); // 조회 select * fro..

Java-Spring/스프링 입문

[스프링 입문] 회원 관리 예제 - 웹 MVC 개발

회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 // main/java/hello/hellospring/controller/HomeController.java @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 웹 브라우저에서 요청이 오게 되면 관련 컨트롤러가 있는지 먼저 찾은 후, 없으면 static 파일을 찾도록 우선순위가 되어 있음 이 때는 home에 매핑된 것이 있으므로 컨트롤러를 호출해 home.html이 나타난 것 만약 매핑된 것이 없었다면, static의 index.html이 나타났을 것 회원..

Java-Spring/스프링 입문

[스프링 입문] 스프링 빈과 의존관계

컴포넌트 스캔과 자동 의존관계 설정 화면을 붙이기 위해서는 (HTML로 뿌려주기 위해서) 컨트롤러와 뷰 템플릿이 필요 이 때 회원 컨트롤러 (MemberController) 는 회원 서비스 (MemberService) 를 통해서 회원 가입 , 조회를 할 수 있어야 함 이러한 관계를 의존 관계가 있다고 표현 → MemberController가 MemeberService를 의존 회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존관계 추가 // main/java/hello/hellospring/controller/MemberController.java @Controller // 스프링 컨테이너가 처음에 스프링을 뜰 때, @Controller 어노테이션으로 ..

Java-Spring/스프링 입문

[스프링 입문] 회원 관리 예제 - 백엔드 개발

비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소 (DB) 가 선정되지 않았다는 가상의 시나리오 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 - 예) 회원은 중복가입이 안된다. 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 - 예) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계 아직 데이터 저장소가 선정되지 않아서, 우선 interface로 구현 클래스를 변경할 수 있도록 설계 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 → 향후 데이터 저장소를 선정하고 나서..

Java-Spring/스프링 입문

[스프링 입문] 스프링 웹 개발 기초

웹 개발 방법 1) 정적 컨텐츠 : 파일을 웹 브라우저에 그대로 내려주는 것 방법 2) MVC와 템플릿 엔진 : jsp, php 등을 이용해 html을 서버에서 동적으로 바꿔서 내려주는 것 (model, view, controller) 방법 3) API : json 데이터 구조 포맷으로 클라이언트에게 데이터를 내려주는 것, 서버끼리 통신할 때 사용 정적 컨텐츠 스프링 부트 정적 컨텐츠 기능을 자동으로 제공 정적 컨텐츠 입니다. → 이를 서버에 그대로 전달 (반환) 정적 컨텐츠 이미지 - 동작 환경 그림 : 내장 톰켓 서버가 요청을 받은 후 스프링에게 정보를 넘겨줌 → 스프링에서는 hello-static 이라는 컨트롤러가 있는지 찾아보았으나 맵핑되는 것이 없으므로 → 내부에 있는 hello-static.h..

Java-Spring/스프링 입문

[스프링 입문] 프로젝트 환경설정

프로젝트 생성 Java 11 IDE : InteliJ 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 Generate 후, 압축 해제하여 인텔리제이에서 Open or Import HelloSpringApplication 메인 메소드 실행 // main/java/hello/hellospring/HelloSpringApplication.java // @SpringBootApplication 어노테이션으로 인해 스프링부트 애플리케이션이 실행되고, // 내장된 톰캣 웹 서버를 자체적으로 띄우며 스프링부트 실행 @SpringBootApplication public class HelloSpringApplication { public static void main(String[] args) { Spring..

김깅긍
'Java-Spring/스프링 입문' 카테고리의 글 목록