\-Java 11설치\-IDE: IntelliJ 또는 Eclipse 설치 (IntelliJ 설치 권장)https://start.spring.ioProject ▶️ "Gradle - Groovy" 선택Language ▶️ "Java" 선택Spring Boot ▶
resources/static/index.html를 만들면 Welcome Page가 만들어진다.위 코드를 index.html에 작성 후 프로그램을 돌려보았다.⬇️localhost:8080 페이지를 새로고침 해보았더니, 전에 있던 에러 페이지가 사라지고 새로 작성한 We
빌드 및 실행 방법은 위 사진과 같다.자세히 설명하자면,1\. 터미널에 들어간다.2\. hello-spring을 저장해놓은 폴더인 Downloads에 'cd' 명령어를 사용하여 들어간다. (cd Downloads)3\. hello-spring에 들어간다. (cd hel
스프링 웹 개발 기초 웹을 개발한다는 것은 크게 3가지 방법이 있다. 정적 컨텐츠: 서버에서 하는 것 없이 파일을 그대로 웹 브라우저에 그려주는 것. MVC와 템플릿 엔진: 가장 많이 하는 방식. html을 그냥 주는 것이 아니라, 서버에서 프로그래밍을 해서 동적으로
\-MVC: Model, View, Controller과거에는 controller와 view가 따로 나뉘어져 있지 않고, View에서 모든 것을 다 했지만, 요즘은 역할이 나뉘어져 있다.View는 화면을 그리는 데에 모든 역량을 집중해야 한다.Controller는 내부
스프링 웹 개발에서 이야기하는 API방식에 대한 이야기.정적 컨텐츠 방식을 제외하면, 이전에 봤던 MVC방식에서 view를 찾아서 템플릿 엔진을 통해 화면을 렌더링하여 html을 웹 브라우저에 넘겨주는 방식이 있고, 오늘 얘기할 API 방식이 있다.위 사진처럼 Hell
\-데이터: 회원ID, 이름\-기능: 회원 등록, 조회\-아직 데이터 저장소가 선정되지 않음(가상의 시나리오) /아직 DB가 선정되지 않았다는 전제 하에컨트롤러, 서비스, 리포지토리, 도메인객체, DB로 구성이 된다.\-컨트롤러: 웹 MVC의 컨트롤러 역할\-서비스:
hello.hellospring 아래에 domain이라는 패키지를 생성하고, Member라는 자바 클래스를 하나 생성하였다. 요구사항에서 id식별자와 이름은 있어야 한다는 내용이 있었기 때문에, 코드를 위 사진처럼 짜 두었다.id는 임의의 값(시스템이 저장하는 id)이
회원 리포지토리 클래스가 원하는 대로 동작하는가를 검증하는 방법개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기어렵고
회원 서비스: 회원 리포지토리와 도메인을 활용하여 실제 비즈니스 로직을 작성하는 것.우선main - java - hellospring에 service라는 패키지를 하나 생성하였다.그리고 service 패키지 밑에 MemberService라는 클래스를 하나 생성하였다.M
이전에 테스트할 때는 직접 package를 만들고 클래스를 만들고 하였었는데, 훨씬 편하게 생성하는 단축키가 존재한다.\*\*단축키: command + shift + t이 단축키를 사용하여 MemberServiceTest class를 자동 생성 하였다.test - ja
회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 이제 화면을 구축해야 하는데, 그러려면 멤버 컨트롤러를 만들어야 한다. 멤버 컨트롤러는 멤버 서비스를 통해서 회원가입하고, 데이터를 조회할 수 있어야 한다.\-> 서로 의존관계가 있다.
기존에 작성하였던 회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행한다. \*MemberController는 그대로 놔둔다.스프링 빈을 직접 등록하는 코드를 작성하기 위해 main - java - h
이전에 만들었던 MemberController을 통해서 회원을 조회하고 등록하는 예제를 만들어보겠다.아주 단순하게 회원을 등록하고 조회할 수 있는 버튼이 있는 사이트를 하나 만들 것이다.우선,main - java - hellospring - controller 밑에 H
이번에는 회원 가입과 목록 버튼을 클릭하면 나오는 페이지를 구성하는 코드를 작성해 보겠다.우선 기존에 만들어 놓았던 MemberController 클래스에 가서, GetMapping 코드를 작성하였다.localhost:8080에서 회원 가입 링크를 눌렀을 때, http
회원 목록을 눌렀을 때 동작하는 코드를 만든다.우선 웹에서 회원 목록을 누르면members로 가게 코딩을 해놓았었다.MemberController에 가서를 작성하였다. List members = memberService.findMembers(); 를 하면 member
이전까지 했던 것은 사실 메모리에 저장을 했다가 서버가 내려가면 데이터가 모두 사라지기 떄문에 실무에서는 모두 데이터베이스에 데이터들을 저장하고 관리한다.그러기 위해서 필요한 H2 데이터 베이스를 설치해 볼 것이다.보통 실무에서는 mysql이나 oracle 같은 DB를
이전에 했던 test들은, 전혀 스프링과 관련이 없는 테스트들 이었다.순수한 java 코드를 가지고 테스트 한 것이었는데,데이터베이스 connection 정보도 스프링부트가 가지고 있으니이젠 java 코드를 가지고 테스트 할 수 없다.테스트를 스프링과 엮어서 해볼 것이
\*설정은 순수 Jdbc와 동일하게 환경설정을 하면 된다.스프링 JdbcTemplate은 MyBatis와 비슷한 라이브러리인데, JDBC API에서의 반복적인 코드를 제거해준다.(sql은 직접 작성해주긴 해야 한다.)우선 repository에 JdbcTemplateMe
JPA는 기존의 반복 코드는 물론이고,기본적인 SQL도 JPA가 직접 만들어서 실행해준다.→ 개발 생산성을 크게 높일 수 있다.JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다.JPA를 사용하면 개발 생산성을 크게 높일
스프링 부트와 JPA만 사용해도 개발 생산성이 정말 많이 증가하고,개발해야할 코드도 확연히 줄어든다.여기에 스프링 데이터 JPA를 사용하면 기존의 한계를 넘어 마치 마법처럼,리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있다.그리고 반복 개발해온 기
모든 메소드의 호출 시간을 측정하고 싶다면?공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern)회원 가입 시간, 회원 조회 시간을 측정하고 싶다면?우선 repository - service - MemberService의
:Aspect Oriented Programming/공통 관심 사항과 핵심 관심 사항을 분리시간 측정 로직을 TimeTraceAop라는 곳에 모아놓고,helloController든, memberService든, memberRepository든내가 원하는 곳에 적용해줌.