전체 글 211

[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와 ..

[JAVA] 조건문과 반복문

참고도서 이것이 자바가(개정판) Switch Expressions Java 12 이후부터는 switch 문에서 Expressions을 사용할 수 있다. break 문을 없애는 대신, 화살표와 중괄호를 사용해 가독성이 좋아졌다. ex) char score = 'A'; switch(score){ case 'A', 'a' -> { System.out.println("우수"); } case 'B', 'b' ->> { System.out.println("일반"); } default -> { System.out.println("hi"); } } switch(score){ case 'A', 'a' -> System.out.println("우수"); case 'B', 'b' -> System.out.println("일..

[JAVA] 연산자

참고 서적 이것이 자바다(개정판) 부호 연산자 정수 타입 연산의 결과는 int 타입이다. 부호 변경하는 것도 연산이므로 다음과 같이 대입해야 한다. byte a = -b; // 컴파일 에러 int c = -d; 산술 연산자 피연산자가 정수 타입 (byte, shor, char, int)이면 연산의 결과는 int 즉 int 타입으로 자동 변환 후 연산된다. 피연산자가 정수 타입이고 그 중 하나가 long 이면 연산의 결과는 long 피연산자 중 하나가 실수 타입이면 결과는 실수 타입 오버플로우(overflow) 타입이 허용하는 최대값을 벗어나는 것 언더플로우 (underflow) 타입이 허용하는 최소값을 벗어나는 것 언더 || 오버 플로우 발생시 에러가 발생하지 않고, 해당 정수 타입의 최소값 또는 최대값..

[JAVA] 변수와 타입

참고도서 이것이 자바다 변수 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름 컴퓨터 메모리(RAM)은 수많은 번지들로 구성된 데이터 저장 공간 메모리 관리를 위해 변수 사용 변수 선언 데이터타입 변수명; 캐멀 스타일 코드 작성시 여러 단엉를 혼합해 명명하는 경우, 낙타의 등처럼 대소문자를 섞어 작성하는 스타일 자바 소스 파일명은 대문자로 시작하는 것이 관례 ex) HelloWorld.java 변수명은 소문자로 시작하는 것이 관례 ex) helloWorld 변수 초기화 변수에 값을 대입하는 행위 이 때 메모리에 값이 할당된다. 초기화 되지 않은 변수는 메모리에 할당되지 않았기 때문에 변수를 통해 메모리 값을 읽을 수 없다. 데이터 타입 정수 byte, char, short, int, long 실수 ..