springboot(8)
-
[SpringBoot] spring boot application.properties/yaml profile 설정
spring boot application.properties/yaml profile 설정 1) Externalized Configuration(application.properties/yaml) spring boot는 설정들을 편리하게 주입할 수 있게 application.properties / yaml을 이용한 외부 설정(Externalized configuration)이 가능합니다. SpringApplication은 properties를 다음 경로에 위치한 application.properties로부터 읽어들여 스프링 환경설정에 추가합니다. 현재 디렉토리의 /config 서브 디렉토리 현재 디렉토리 /config 패키지의 classpath classpath root (위에서 밑으로 설정이 적용되는 ..
2021.09.03 -
[스프링 부트 어드민 페이지] 4. QueryMethod
Github 코드 QueryMethod QueryMethod란 JPARepository 메서드가 findAll(), findById(), save() 등 정형화 되어있는데 커스터마이징 하여 원하는 WHERE절 조건 데이터를 입력해 데이터를 조회할 수 있는 메서드입니다. 1 2 3 4 5 6 7 8 9 10 @Repository public interface UserRepository extends JpaRepository { Optional findByAccount(String account); Optional findByEmail(String email); Optional findByAccountAndEmail(String account, String email); } Colored by Color S..
2021.05.17 -
[스프링 부트 어드민 페이지] 2. JPA Repository
Github 코드 JPA JPA는 Java Persistence API로 RDB 데이터베이스 정보를 Java ORM(Object Relational Mapping)으로 활용할 수 있도록 도와주는 라이브러리 입니다. 객체를 매핑시키는 Hibernate도 JPA를 상속한 프레임 워크입니다. JPA의 장점은 Java 객체를 DB와 호환할 수 있다는 점이 두드러지게 나타납니다. 쿼리보다 객체 지향코드에 집중할 수 있게 말이죠. 들어가기에 앞서 Spring Web MVC 패턴 구조를 간략한 도식화로 보겠습니다. DispatcherServlet은 Servlet(웹 서버의 요청-응답 처리방식이 가능하도록 확장해주는 Java 클래스)이 HTTP 요청을 Dispatch(분담시키다) 하는 Web MVC 모델의 Reques..
2021.05.12 -
[예약사이트] 3. 가게 추가
가게 추가 기능을 구현했습니다. 프로그래밍적 지식은 테스트 할 때 사용할 수 있는 Mock object(가짜객체) - mockito라는 프레임워크와 HTTPie 라는 소프트웨어에 대해 알아보겠습니다. 1) Review 이외에도 강의를 들으면서 어렴풋이 설계방식이나 객체 구현 흐름을 알 수 있었습니다. 가령 Controller를 먼저 생성하고 Service에 메서드를 만들어 준 다음 Repository에 인터페이스 메서드를 구현해주는 순서로 이루어진다는 점입니다. 또한 Controller와 Service 메서드가 생성되면 곧바로 테스트를 만들어 진행하는 점이 아직 익숙지 않은데요, 처음 보는 개념들이 많아 이 강의를 듣고 바로 TDD 개발을 진행시킬 순 없겠지만 배경지식을 차곡차곡 쌓아간다는 느낌으로 진행..
2020.10.22 -
[예약사이트] 2. 가게 목록과 가게 상세 구현
위 프로젝트는 인강보면서 코드도 같이 치고 있습니다. 구체적인 API 메서드 활용보다 큰 덩어리 설계를 어떻게 하고 Spring 기능들은 어떻게 활용하는지에 중점을 두는 것이 미래 웹 사이트를 구현할 때 도움이 될 거라 생각합니다. 이번 글에서 다룰 프로그래밍적 지식은 Layer Architecture이며 DI는 Spring 복습 겸 조금만 다뤄보겠습니다. 참고로 구현할 기능은 제목처럼 가게목록과 가게상세 입니다. 1) Layer Architecture 웹을 구현할 때 UI와 기능에 따라 객체들을 구분해 관리하는 객체 지향 프로그래밍 구조입니다. 즉 Controller 객체들은 interfaces package로 구분되며 코드를 최소화하여 DB와 WEB에 접근하는 단순명료한 코드들로 이루어져야 합니다. ..
2020.10.21 -
[예약사이트] 1. TDD와 REST API
Spring 강의를 다 마쳤기 때문에 혼자 프로젝트를 만들어보려던 찰나에 예전에 구매해둔 웹 개발 마스터 패키지 온라인 강의가 생각났습니다. Spring Boot 레스토랑 예약사이트를 구현하는 프로젝트였고 이해도가 낮아 접었던 강좌였습니다. 아직 무엇을 어떻게 만들어야겠다는 생각까지 없어서 Spring 복습 겸 강좌의 프로젝트를 완성시켜 보기로 마음 먹었습니다. 이번 글에선 TDD(Test Driven Development)의 필요성과 간단한 사용법을 설명하고, REST API를 사용해 가게 목록을 Front-end에서 받아 JSON으로 전달해주는 기능을 구현하는 실습을 진행해보겠습니다. 1) TDD 테스트 주도 개발은 결과물이 나오기 전 코드를 구현하는 단계에서부터 Test를 실시하는 개발방법입니다. ..
2020.10.19