회원관리 예제 Test코드 작성
·
자바스프링
저번 회원관리 예제에 대한 코드를 테스트 코드로 작성해보았다. 실무에서 실제 코드를 작성하는 시간보다 테스트 코드를 작성하는데 비중을 더 쏟는다는 말이 신기했다. 테스트 코드먼저 작성하고 후에 실제 코드를 작성하는 것을 테스트 주도 개발이라고 한다. 종종 기업에서 테스트 주도 개발 경험관련 유무자라는 글을 본 적이 있는데, 그냥 흘러넘겼다가 이번에 김영한 강사님께서 하시는 말씀을 듣고 테스트 주도 개발에 대해서 알게 되었다. 나중엔 테스트 주도 개발도 간단한 프로젝트로 진행 해봐야겠다는 생각을 했다. package com.example.springStudy.repository; import com.example.springStudy.domain.User; import org.junit.jupiter.ap..
스프링 회원관리 예제
·
자바스프링
스프링 김영한 강사님의 강의를 듣고 따로 코드를 작성해보고 싶어서 복습겸 해본 내용을 정리하고자 한다. 일반적인 웹 애플리케이션의 계층 구조의 모습이다. - 컨트롤러: 웹 MVC의 컨트롤러 역할 - 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 - 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 각 계층에 대해서 위와 같이 간략하게 설명을 해주셨는데, 나는 Service와 Repository 코드가 거의 비슷한데 굳이 나눠서 작성하는 이유가 궁금해서 찾아보니 질문 글에 나와 똑같은 생각을 한 사람이 있었다. 정리를 하자면 Repository는 DB에 접근하는 모든 코드가 모여있고, Service는 ..
스프링 기초
·
자바스프링
스프링은 크게 세 가지로 구분된다. 1. 정적 컨텐츠 2. 스프링 MVC와 템플릿 엔진 3. API 1. 정적 컨텐츠란 쉽게말해서 정적인 페이지를 보여준다. 그냥 정보성 페이지를 전달하기 위해 만들 때 사용하는 것 같다. 프론트 코드 작성은 스프링 프로젝트 안의 resources/static/ 의 경로에서 한다. 정적컨텐츠는 관련 컨트롤러가 없기 때문에 요청이 들어온다면 스프링에서 바로 웹 브라우저로 페이지를 응답해준다. 2. 스프링 MVC와 템플릿 엔진이란(model, view, controller) 모델과 뷰 컨트롤러를 각각 분리해서 사용을 한다. Controller에선 @Controller 어노테이션을 사용해줘야 한다. @Controller 어노테이션은 해당 클래스를 컨테이너에 Bean으로 등록해주..
[Android] 자바 스프링으로 이미지 Mysql에 전송 및 저장하기 (2)
·
자바스프링
저번 글에선 안드로이드에서 이미지를 비트맵으로 변환 후 바이트스트링값으로 스프링에 전송하는 코드를 작성했다. 이번 글에선 스프링에서 이미지를 받아와서 mysql에 저장하는 코드를 작성하고자 한다. application properties에 mysql에 접근하기 위한 코드를 작성해줬다. spring.datasource.url=jdbc:mysql://localhost:3306/jojunhee?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul spring.datasource.username=root spring.datasource.password=00000000 UserProfileMapper.Interface SQL 쿼리문을 호출하기 위해 @..
[Android] 자바 스프링으로 이미지 Mysql에 전송 및 저장하기 (1)
·
자바스프링
이번에 팀 프로젝트를 안드로이드로 진행하면서 이미지를 업로드하고 불러오는 코드를 작성해야 했다. 구글링을 통해 많은 Multipart로 올리는 방식?, 웹서버에 이미지를 업로드 하고 데베에는 그 경로를 저장하는 방식 같이 다양한 방법이 있는 것은 확인했는데 스프링도 안드로이드도 처음이라 모든게 어려웠다. 나는 이번 프로젝트에서 안드로이드에서 이미지 -> 비트맵 -> 바이트 배열 -> 스트링으로 변환 후 mysql에 직접 저장하는 방식으로 했다. 프로젝트가 끝나서 이미지를 저장했던 코드를 보기쉽게 새로 작성해서 정리해보고자 한다. 프로필에 사진을 추가하는 화면 UI 프로필 화면 클릭 시 권한 부여 프로필 사진 누르면 두 가지 옵션 선택 가능 에뮬레이터로 사진 촬영 후 이미지 등록했을 때 화면 앨범에서 이미..