섹션0 강의 소개 강의 소개 - 섹션1 객체 지향 설계와 스프링 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 - 스프링이란? 스프링 생태계 필수 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 언어: 코틀린, 그루비 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손 쉬운 빌드..
섹션7 AOP AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 아래처럼 시작 시간과 끝난 시간을 계산해야 한다 이는 메서드마다 정형화될 수 없기 때문에 일일이 처리하기 번거롭다 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; System.out.println("jo..
섹션5 회원 관리 예제 - 웹 MVC 개발 회원 웹 기능 - 홈 화면 추가 스프링 부트가 스프링 컨테이너 내에 루트 관련 컨트롤러가 없으면 static 폴더의 index.html 파일을 보여주는데 만약 관련 컨트롤러가 있으면 static 폴더의 파일은 무시된다 실습함 회원 웹 기능 - 등록 form태그에서 인풋 태그의 name을 지정하면 action의 url을 따라 이동하는데 name에 지정한 값(ex. name=name)과 같은 이름의 필드를 찾고 그 필드에 자동으로 값을 대입한다 @GetMapping와 @PostMapping에 같은 url을 지정할 수 있는데 form태그의 메서드가 post일 경우 submit하면서 @PostMapping이 지정된 메서드를 동작시킨다 회원 웹 기능 - 조회 @GetMa..
섹션3 회원 관리 예제 - 백엔드 개발 회원 서비스 개발 서비스 클래스: 리포지토리와 도메인을 이용해 실제 비즈니스 로직을 작성하는 클래스 Optional ifPresent(람다식): 인자가 true면 표현식을 실행한다 private void validateDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다"); }); } 회원 서비스 테스트 테스트에서 사용할 메서드의 이름을 한글로 지정해도 됨 테스트 코드를 작성할 때 given-when-then의 문법을 이용하면 이해가 쉬움 given: 이런 상황이..
섹션1 프로젝트 환경설정 빌드하고 실행하기 터미널로 프로젝트 폴더로 이동해서 ./gradlew build 입력 ./gradlew build 이후 build 폴더 안에 libs 폴더가 생성되고 안에 jar파일이 생성됨을 확인할 수 있다. 나의 경우 hello-spring-0.0.1-SNAPSHOT.jar 파일이다 이 파일을 java -jar hello-spring-0.0.1-SNAPSHOT.jar 명령어로 실행한다 java -jar hello-spring-0.0.1-SNAPSHOT.jar 서버에서 배포할 경우 위 jar파일만 export 시키고 해당 파일만 위 명령어로 사용하면 된다 섹션2 스프링 웹 개발 기초 정적 컨텐츠 정적 컨텐츠: 서버의 요구 없이 파일을 그대로 웹브라우저로 보내는 것 스프링 부트는..
섹션0 강의 소개 강의 소개 ❗️순서❗️ 스프링 프로젝트 생성 스프링 부트로 웹 서버 실행 회원 도메인 개발 웹 MVC개발 DB연동 - JDBC, JPA, 스프링 데이터 JPA 테스트 케이스 작성 ⭐️ 학습 방법 ⭐️: 처음부터 끝까지 직접 코딩 섹션1 프로젝트 환경설정 프로젝트 생성 스프링 프로젝트를 만들 때 start.spring.io에서 만드는 것을 권장함 start.spring.io 설명 Project → Gradle-Groovy Language → Java Spring Boot → 괄호 없는 버전 중 택1 Project Metadata Group → 기업명 등 작성 Artifact → 빌드 후 결과물 Name → 프로젝트명 Description → 필요 x Dependencies Spring W..