Spring&SpringBoot
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 후기Spring&SpringBoot 2022. 12. 19. 21:37
1. 스프링부트로 개발하는 기초 환경 설정을 했고 대략적인 흐름을 알 수 있었다. 스프링으로 이미 개발을 해 봤기 때문에 어렵지 않았으나 애노테이션 또는 몇 가지 다른 점에 대해서는 공부가 더 필요함을 느꼈다. 곧 스프링부트로 프로젝트를 시작할 예정인데 큰 도움이 되었다. 2. 자바 공부가 더 더 더 필요하다는 것을 느꼈다. 프로젝트 시작 전 자바의 정석 한 바퀴 볼 수 있을까? 3. 확실히 스프링보다 스프링부트가 편리하다. 왜 개발자가 끊임없이 공부해야 하는지 느꼈다. 내가 더 편하게 일하기 위해 끊임없는 공부는 필수구나. - 스프링 빈 쪽에서 살짝 뭐지? 싶은 부분이 있었지만 끝내고 전체적으로 복습하니까 이런 거였구나 느낌이 왔다. 총 10시간이 안 되는 짧은 강의라 실제 실습은 당연히 부족하지만 복..
-
인프런 스프링 입문 11 / AOPSpring&SpringBoot 2022. 12. 18. 21:52
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 AOP AOP가 필요한 상황 - 모든 메소드의 호출 시간을 측정하고 싶을 때? - 공통 관심 사항 vs 핵심 관심 사항 - 회원 가입 시간, 회원 조회 시간을 측정하고 싶을 때? - 문제 > 문제 회원가입, 회원 조회에 시간을 측정하는 기능은 핵심 관심 사항이 아니다. > 시간을 측정하는 로직은 공통 관심 사항이다. > 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다. > 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다. > 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다. AOP 적용 - AOP: Aspect Oriented Programming > 공통 관심 사항(c..
-
인프런 스프링 입문 10 / JPA, 스프링 데이터 JPASpring&SpringBoot 2022. 12. 15. 16:50
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 DB 접근 기술 JPA - JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. - JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다. - JPA를 사용하면 개발 생산성을 크게 높일 수 있다. 1. build.gradle 파일에 JPA, h2 데이터베이스 관련 라이브러리 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter..
-
인프런 스프링 입문 09 / 스프링 JDBCTemplateSpring&SpringBoot 2022. 12. 14. 23:56
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 DB 접근 기술 스프링 JDBCTemplate - 순수한 JDBC와 동일한 환경설정 - 스프링 JDBCTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 제거, SQL은 직접 작성 @Configuration public class SpringConfig { private final DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService() { return new MemberService(member..
-
인프런 스프링 입문 08 / 스프링 DB 접근, H2, JDBCSpring&SpringBoot 2022. 12. 6. 22:13
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 DB 접근 기술 H2 데이터베이스 설치 - https://www.h2database.com/html/download-archive.html - 1.4.200 버전 platfrom-dindependent 다운로드 - 압축 해제 후 h2.bat 실행 - 최초 접속(연결) 후 JDBC URL 변경 후 다시 연결 > jdbc:h2:tcp://localhost/~/test - cmd창에서 파일 확인하기 dir + 파일이름 dir test.mv.db C:\Users\USER>dir test.mv.db C 드라이브의 볼륨: Windows10 볼륨 일련 번호: 98DC-2E82 C:\Users\USER 디렉터리 2022-12-06 오후 0..
-
인프런 스프링 입문 07 / 회원관리 예제Spring&SpringBoot 2022. 12. 6. 15:12
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 회원관리 예제 - 웹 MVC 개발 회원 웹 기능 - 홈 화면 추가 - homecontroller (controller) 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"; } } - home.html (template) Hello Spring 회원 기능 ..
-
인프런 스프링 입문 06 / 스프링 빈 등록 2 가지Spring&SpringBoot 2022. 12. 4. 15:45
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링 빈과 의존관계 - 스프링 빈을 등록하는 2가지 방법 > 컴포넌트 스캔과 자동 의존관계 설정 > 컴포넌트 스캔 원리 : @Component 애노테이션이 있으면 스프링 빈으로 자동 등록 > 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 - 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.stereotype.Controller; @Controller public class MemberController { privat..
-
인프런 스프링 입문 05 / 회원 관리 예제, junit 테스트하는 방법Spring&SpringBoot 2022. 12. 4. 14:28
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 - 데이터 : 회원ID, 이름 - 기능 : 회원 등록, 조회 - 아직 데이터 저장소 선정되지 않음(가상 시나리오) - 일반적인 웹 어플리케이션 계층 구조 > 컨트롤러 : 웹 MVC의 컨트롤러 역할 > 서비스 : 핵심 비즈니스 로직 구현 > 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직이 동작하도록 구현한 계층 > 예) 회원은 중복 가입이 안 된다 > 리포지토리 : 데이터베이스 접근, 도메인 객체들 DB에 저장하고 관리 > 도메인 : 비즈니스 도메인 객체 > 예) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리 - 클래스 의존관계 > 아직 데이터 저장소가 선정되지 않..