Backend (46) 썸네일형 리스트형 [Spring] DB설치(h2 데이터베이스) 지금까지는 데이터베이스를 사용하지 않고, 메모리레포지토리를 만들어서 사용했다. 하지만, 이는 서버가 내려가면 모든 데이터가 삭제되기 때문에 적합하지 않다. 이제 데이터베이스를 실제로 설치해볼 것, H2라는 가벼운 DB를 사용할 것이다. 목차 H2 데이터베이스 설치 데이터 베이스 접근 기술 (차례대로 4가지) 순수 Jdbc : (20년 전 쯤..) 스프링 JdbcTemplate : 스프링에서 Jdbc를 편리하게 쓸 수 있도록 제공 JPA : 개발자가 직접 쿼리를 짜지 않아도 데이터베이스를 조작할 수 있게됨 (10년전쯤..) 스프링 데이터 JPA : 스프링에서 JPA를 편리하게 쓸 수 있도록 개발된 기술 H2데이터 베이스 설치 https://www.h2database.com H2 Database Engine.. [Spring] 웹 MVC개발 웹 MVC개발 웹기능 추가하기 홈화면 추가 등록 조회 웹 기능을 만들기 위해 먼저 홈화면을 만든다. 회원등록과 조회를 웹페이지상 버튼과 사용자 입력을 이용해 진행할 수 있도록 만들어보자. Home화면 제작 home.html Hello Spring 회원 기능 회원 가입 회원 목록 회원가입 버튼을 눌렀을 경우 localhost:8080/members/new로 이동되며, 회원 목록 버튼은 localhost:8080/members로 이동된다. Controller package하위에 홈 페이지를 조작하는 기능을 만들기위해 다음과 같이 HomeController를 만든다. 메인 페이지로 지정하기 위해 경로는 "/"로 설정해준다. HomeController package hello.hellospring.control.. [Spring] Spring Bean2 지금까지 Project Review Spring Bean이 무엇인가? Bean으로 만들어야 하는 객체들 Bean등록하는 방법 2가지 컴포넌트 스캔과 자동 의존관계 설정 "자바 코드"로 (직접) 스프링 빈 등록하기 DI 3가지 필드주입 setter주입 생성자 주입 추가적인 주의사항 "자바 코드"로 (직접) 스프링 빈 등록하기 더보기 *제목을 왜 "" () 이런식으로 했냐면, 자바코드말고 스프링빈을 "직접" 등록하는 방식은 또 따로있기 때문... *정확히는 factoryMethod를 이용해서 등록하는 방법이라고 한다. (@Bean annotation이 달린 메소드를 호출해서 스프링빈을 등록하는방식) 이 내용이 궁금하다면 여기를 참고 2021.09.30 - [Backend/Spring] - [Spring] 스.. [Spring] Spring Bean1 지금까지 Project Review Spring Bean이 무엇인가? Bean으로 만들어야 하는 객체들 Bean등록하는 방법 2가지 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 Project Review 지금까지 백엔드 단에서 "회원가입" "회원조회"기능을 구현하기 위해 Domain : 비지니스 도메인 객체_ ex 회원, 쿠폰 등의 객체로 만들 수 있는 것들 Domain내에 Member클래스를 생성해 주었고, field로 식별가능한 ID와 회원이름을 가지도록 설정했다. Repository : 데이터베이스에 접근, 도메인 객체(Member)를 DB에 저장하고 관리 제대로된 DB를 구체적으로 정한 것이 아니므로 향후에 결정되면 편하게 갈아끼울 수 있도록 인터페이스 형식(Membe.. [Spring] 회원관리 예제 - 3) 회원 서비스 회원 관리 예제 작성해보기 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 레포지토리 제작 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 - Junit이라는 테스트 프레임워크 사용 이제 회원 서비스를 개발하도록 한다. 비즈니스 요구사항 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 회원 등록기능(회원가입)을 만들어 보도록 한다. 회원 서비스 개발 - 1) 회원가입 마찬가지로 가장먼저 service라는 패키지를 먼저 만든 후 , 그 밑에 MemberService라는 클래스를 만든다. 다음과 같이 작성해줄 수 있다. MemberService public class MemberService { private final MemberRepository memberRepos.. [Spring] 회원관리 예제 - 2) 테스트 케이스 작성(검증) 회원 관리 예제 작성해보기 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 레포지토리 제작 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 - Junit이라는 테스트 프레임워크 사용 이전 게시글에서 만든 회원 레포지토리 클래스가 프로그래머가 원하는 방식으로 제대로 작동하는지 검증해야한다. Java의 main method를 통해 실행해보기 웹 앱의 컨트롤러를 통해 실행해보기 통 이 두가지의 방법을 (공부할 때는) 많이 사용하는데, 준비하는데 오래걸리고 반복실행이 어려우며, 여러 테스트를 한번에 실행하기 어렵다. 따라서, 자바에서는 JUnit이라는 프레임워크로 테스트 코드를 작성한 후, 그 코드를 실행시키는 방식으로 검증한다. 바로, 코드(작성한) 를 코드(테스트 코드)로 검증.. [Spring] 회원관리 예제-1) 도메인과 레포지토리 회원 관리 예제 작성해보기 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 레포지토리 제작 회원 레포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 - Junit이라는 테스트 프레임워크 사용 비즈니스 요구사항 정리 서비스를 개발하기 위해 일단 해당 서비스의 요구사항을 정의 하는 것으로 시작한다. 쉬운 예제로 동작 방식만을 이해하는 것이 목표이므로 간단한 요구사항을 만족해보기로 한다. 비즈니스 요구사항 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 데이터베이스는 무엇을 사용할지 지정되지 않았다고 가정한다 (스프링의 특성을 설명하기위해 가상의 시나리오 ) 제로 데이터에 특성에 맞게 효율적인 데이터베이스를 선택해야한다. (NoSQL, SQL 등..) 비즈니스 요구사항 정리 단계에.. [Spring] 웹개발 기초(정적,MVC,API) Spring web개발 기초 3가지 방식 정적 컨탠츠 : 별다른 서버 작업 없이 파일을 그대로 보여주는 것 MVC와 템플릿 엔진 : 서버에서 html을 동적으로 바꾸어 보여주는 것 (예, php jsp) 템플릿 엔진을 M V C 방식으로 쪼개어 뷰를 템플릿 엔진으로 html을 프로그래밍하여 전달해줌 API : json이라는 format을 이용하여 client에게 데이터를 전달하는 방식 ( 서버 끼리 통신 , react(client)단에서 화면을 그릴 때 ) 주로 객체를 json형식으로 view없이 반환해 주는 것 정적 컨탠츠 default로 Spring에서는 resources/static 폴더 내에서 정적 컨탠츠에 대한 내용을 찾는다. 즉, 정적 컨탠츠를 생성하려면, 단순하게 resources/stati.. 이전 1 2 3 4 5 6 다음