스프링을 공부해야 하는 이유 : 실무에서 제대로 동작하는 웹 어플리케이션을 개발하기 위해서IDE : IntelliJ김영한님의 주변의 잘하시는 서버 개발자분들이 대부분 인텔리제이를 사용함단축키부터해서 편리한 점이 많음스프링부트 스타터를 사용하여 스프링 프로젝트 생성예전에
서버에서 파일을 그대로 웹 브라우저로 전달 해주는 방식템플릿 엔진 : jsp, php, 서버에서 프로그래밍 하여 html을 동적으로 바꾸어 전달 해주는 방식mvc : model, view, controllerjson 데이터 포멧으로 클라이언트에 데이터를 전달하는 방식스
컨트롤러 : 웹 MVC, API 를 컨트롤하는 역할서비스 : 비즈니스 로직 구현리포지토리 : 데이터베이스에 접근, 도메인 객체를 db에 저장하고 관리도메인 : 비즈니스 도메인 객체Optional : 자바8에 들어가 있는 기능, Null이 리턴 될 가능성이 있을때 Opt
컨트롤러에서 서비스를 통해서 조회, 등록한다 -> 컨트롤러가 서비스를 의존한다이렇게 컨트롤러 어노테이션을 사용하면 스프링 컨테이너에 해당 컨트롤러가 생성되어 관리된다.이때 memberService는 new로 생성할때 다른 컨트롤러에서 해당 서비스를 사용하게 될때 중복
@GetMapping("/")resources/static/서버로 넘어올 때 html의 input 에서 name이 key로 사용됨get : 주로 조회할 때 사용post : 주로 등록할 때 사용
스프링 데이터 엑세스 순수 Jdbc 20년전 방식 스프링 JdbcTemplate 중복을 제거해서 sql을 편리하게 날릴 수 있음 JPA sql도 직접 작성하지 않고 JPA가 쿼리를 날려줌 스프링 데이터 JPA JPA를 편리하게 쓸수 있도록 한번 감싼 기술 H2 db
JPA 는 반복적인 코드 줄여줌, sql 직접 작성하지 않아도 됨 sql과 데이터 중심의 설계에서 객체 중심의 설계로 가능 JPA 도 스프링 만큼 기술적인 깊이가 있는 기술 JPA 는 자바 표준 인터페이스, 구현은 여러 업체들이 하는 것 각 업체마다 성능이 좋거나
AOP 모든 메서드의 호출 시간 측정