JAVA/[인프런] 스프링 강의들

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section7. AOP + 소소한 완강 후기

AOP가 필요한 상황 MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; @Transactional 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.currentTimeMillis(); long timeMs = finish - start; S..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section6. 스프링 DB 접근 기술

H2 데이터베이스 설치 테이블 생성하기 테이블 관리를 위해 프로젝트 루트에 sql/ddl.sql 파일을 생성 drop table if exists member CASCADE; create table member ( id bigint generated by default as identity, name varchar(255), primary key (id) ); H2 데이터베이스에 접근해서 member 테이블 생성 순수 Jdbc 환경 설정 build.gradle implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' resource/application.yml spring.datasou..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section5. 회원 관리 예제 - 웹 MVC 개발

회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } } 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 컨트롤러가 정적 파일보다 우선순위가 높다 회원 웹 기능 - 등록 1. 회원 등록 폼 개발 회원 등록 폼 컨트롤러 @Controller public c..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section4. 스프링 빈과 의존관계

컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계 설정 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.storeotype.Controller; @Controller public class MemberController{ private final MemberService memberService; @Autowired public MemberControlle..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section3. 회원 관리 예제 - 백엔드 개발

비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않았다고 가정 일반적인 웹 어플리케이션 계층 구조 컨트롤러 웹 MVC의 컨트롤러 역할 서비스 핵심 비즈니스 로직 구현 리포지토리 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계 아직 데이터 저장소가 선정되지 않아 우선 인터페이스로 구현하여 추후 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민 중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 회원 도메인과 리포지토리 만들기 ..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section2. 스프링 웹 개발 기초

정적 컨텐츠 section1 때 welcome page처럼 어떠한 변형없이 파일을 그대로 전달 resources/static/hello-static.html 정적 컨텐츠 입니다. 서버 가동 후 localhost:8080/hello-static.html 접속하면 어떠한 변형 없이 화면 실행 동작 환경 그림 웹 브라우저가 localhost:8080/hello-static.html을 스프링 부트 내장 톰켓 서버에게 전달 톰켓 서버는 스프링 컨테이너에 hello-static 관련 controller가 있는 지 확인 관련 consroller가 없으면 resources/static 폴더에 hello-static 이름에 html 파일이 있는 지 확인 해당 html 파일을 웹 브라우저에게 전달 MVC와 템플릿 엔진 그..

JAVA/[인프런] 스프링 강의들

[인프런] 스프링 입문 강의 Section1. 프로젝트 환경 설정

사전 준비물 Java 11 설치 IDE : IntelliJ 또는 Eclipse 설치 저는 Java 19 버전, IntelliJ을 설치했습니다. 저는 윈도우입니다. 맥을 사용하시는 분들은 인프런 강의를 참고해주세요! 1. 프로젝트 생성 스프링 프로젝트 생성 스프링부트사이트 https://start.spring.io/ Project Maven, Gradle 필요한 라이브러리를 가져와서 관리하는 tool 요새는 Gradle을 많이 사용한다 Language Java 선택 Spring Boot Snapshot은 데모버전, M1 또한 정식 버전은 아님. 버전만 적혀있는 것 중 제일 최신 것으로 선택 Project Metadata Group : 기업 도메인명을 보통 기입 Artifact : 프로젝트명 Dependen..

JAVA/[인프런] 스프링 강의들

[서버 개발 올인원 패키지] 7. 생애 최초 배포하기

인프런 올인원 자바 스프링 강의를 학습 목적으로 정리하여 포스팅합니다. section7. 생애 최초 배포하기 1. EC2에 접속해 리눅스 명령어 다뤄보기 aws에서 ec2 연결하기를 눌러 접속하기 mkdir : 폴더를 만드는 명령어 ls : 현재 위치에서 폴더나 파일을 확인하는 명령어 cd : 폴더 안으로 들어가는 명령어 pwd : 현재 위치를 확인하는 명령어 rmdir : 비어 있는 폴더를 제거하는 명령어 2. 배포를 위한 프로그램 설치하기 ec2에 설치할 프로그램 코드를 가져오기 위한 git 우리가 만든 서버를 구동한 java 데이터베이스의 역할을 할 mysql sudo yum update sudo yum install git sudo yum install java-버전숫자-amazon-corrett..

JAVA/[인프런] 스프링 강의들

[ 서버 개발 올인원 패키지] 6. 생애 최초 배포 준비하기

인프런 올인원 자바 스프링 강의를 학습 목적으로 정리하여 포스팅합니다. section6. 생애 최초 배포 준비하기 1. 배포 최종 사용자에게 SW를 전달하는 과정 즉, 전용 컴퓨터(AWS 등)에 우리의 서버를 옮겨 실행시키는 것이다. 2. profile과 H2 DB 전용컴퓨터는 전용컴퓨터용 DB를 사용해야 한다. 같은 코드를 사용하지만 실행될 때 설정을 다르게 하는 것을 profile이라 한다. profile별로 DB 사용을 다르게 만드는데에 주로 사용된다. profile 적용 방법은 아래 블로그를 참고하길 바란다. IntelliJ (Ultimate & Community) 에서 스프링부트 active profile 설정하기 IntelliJ Community로 스프링부트 환경에서 개발하시는 분들이 종종 질..

JAVA/[인프런] 스프링 강의들

[ 서버 개발 올인원 패키지] 5. 책 요구사항 구현하기

인프런 올인원 자바 스프링 강의를 학습 목적으로 정리하여 포스팅합니다. section5. 책 요구사항 구현하기 5. JPA 연관관계에 대한 추가적인 기능들 연관 관계 1:1 관계 한 사람은 한 개의 실거주 주소만을 가지고 있다. 위와 같은 N:1 관계를 JPA 어노테이션에서는 @OneToOne 으로 포현한다. N:1 관계 학생과 교실 관계를 보면 학생 여러 명이 교실에 들어갈 수 있다. 즉, 학생 N : 교실 1 관계이다. 위와 같은 N:1 관계를 JPA 어노테이션에서는 @ManyToOne @OneToMany 으로 포현한다. 한쪽에만 어노테이션을 붙여도 된다. N:M 관계 위와 같은 N:1 관계를 JPA 어노테이션에서는 @ManyToMany 으로 포현한다. 구조가 복잡하고, 테이블이 직관적으로 매핑되지 ..

eune7
'JAVA/[인프런] 스프링 강의들' 카테고리의 글 목록