API 요청자동화 프로그램을 개발 중 "그간 배웠던 HTTP 요청은 url 매핑을 통해서 구현했는데, 웹이 아닐 때는 API 요청을 어떻게 보내지?" 하는 의문이 들어 검색해봤다. HTTP 요청을 간단하게 보낼 수 있는 스프링 인터페이스들이 있다. RestTemplate: 스프링 3.0 에서부터 지원하는 내장 객체로 Block & 동기 방식을 지원한다.하지만 deprecated 이슈가 있을만큼 더 이상의 지원은 기대하기 어렵다. Config@Beanpublic RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory()); restTemplate.setDefaultU..
1. YAML을 사용하는 이유특징YAMLPropertiesJSON가독성높음낮음낮음복잡한 구조 지원매우 좋음제한적좋음파싱 속도느림빠름매우 빠름주석 지원지원지원지원 안함데이터 타입 지원다양함제한다양 2. Spring에서 YAML의 값을 가져오는 방법application.ymlmail: config: val1: true val2: true val3: TRUE val4: 1 val5: 1 val6: 1 arr: user1@example.com, user2@example.com, user3@example.com listComma: user1@example.com, user2@example.com, user3@example.com listDashes: -..
JDBC 이해 JDBC 등장 이유 일반적인 사용법커넥션 연결: 주로 TCP/IP를 사용해서 커넥션 연결한다.SLQ 전달: 애플리케이션 서버는 DB가 이해하 ㄹ수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.결과 응답: DB는 전달된 SQL을 수행하고 그 결과를 응답한다. 애플리케이션 서버는 응답 결과를 활용한다.문제는 각각의 DB마다 위의 1,2,3 방법이 모두 다르다는 것이다. 이는 DB를 변경할 때 모든 DB 사용 코드도 함께 변경해야되며, 개발자가 DB마다 새로 학습해야 하는 문제가 있다. JDBC 표준 인터페이스JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 ..
서블릿과 파일 업로드1HTMl 폼 전송 방식application/x-www-form-urlencodedmultipart/from-data application/x-www-form-urlencoded 방식 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다.Form 태그에 별도의 enctype 없으면 웹 브라우저 요청 HTTP 메세지의 헤더에 다음 내용을 추가한다.Content-Type: application/x-www-form-urlencoded그리고 폼에 입력한 전송할 항목을 HTTP Body에 문자로 username=kim&age=20와 같이 &로 구분해서 전송한다.파일을 업로드하려면 파일은 문자가 아니라 바이너리 데이터를 전송해야 한다. 문자를 전송하는 이 방식으로 파일을 전송하기는 어렵..
하이버네이트는 엔티티를 영속 상태로 만들 때 컬렉션 필드로 감싸서 사용 PersistentCollection Hibernate에서 제공하는 인터페이스로, 엔티티의 컬렉션 타입 필드를 관리하는 데 사용. 하이버네이트의 내장 컬렉션 필드 컬렉션 인터페이스 내장 컬렉션 중복 허용 순서 보관 Collention, List PersitentBag O X Set PersistentSet X X List + @ORderColumn PersistentList O O PersistentBag public class PersistentBag extends AbstractPersistentCollection implements List 동일한 요소를 여러 번 포함할 수 있는 순서가 없고 키가 지정되지 않은 컬렉션입니다. J..