일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Lv1
- 백준
- 오름차순 정렬
- StringTokenizer
- 스프링부트 도커 배포
- 이진수 변환
- 프로그래머스 풀이
- Stack
- 백준 N과 M 자바
- lv2
- 스프링부트 도커로 배포
- Programmers
- 알고리즘
- index of
- 문자열
- 스택
- 프로그래머스 자바
- 자바
- lv0
- 버퍼
- 프로그래머스 문자열 정렬
- 스프링부트 도커
- 프로그래머스
- 삼각형의 완성조건
- 클라이언트
- SWEA
- Queue
- java
- COS Pro
- 큐
- Today
- Total
목록공부/Spring (9)
mun dev
@ResponseBody 해당 메소드의 응답속성은 Content-Type: text/plain@ResponseBody가 응답의 content-type을 바꿔주는 것은 아님, 해당 어노테이션이 달려 있는 메소드의 반환 값은 View Resolver로 가지 않기 때문에 순수 문자열, 데이터로 반환 @RequestMapping(value = "/test", method = RequestMethod.POST) @ResponseBody public Map ftpConnect (@RequestParam Map params, HttpServletRequest request) throws Exception { Map response = new HashMap(); respons..
@ManyToMany, 다대다 관계 다대다 관계의 경우 그대로 사용하면 안되고 반드시 정규화를 통해 중간 테이블을 만들어줘야 한다. 중간 테이블을 두어 일대다, 다대다 형태로 변형해줘야 한다. 프로젝트를 진행하며 예약테이블과 멤버테이블은 다대다의 관계를 가진경우를 만났다. 여러 멤버들은 여러 예약을 가질 수 있기 때문이었다. 초기 다대다 관계를 가진 멤버테이블과 예약 테이블이다. @ManyToMany를 사용하려 보니 정규화의 문제가 있다는 것을 알게되어 중간테이블을 생성해주었다. reservation과 reservation_info 테이블을 분리하여 reservation에는 예약 Id, 멤버 Id reservation_info에는 예약에 관련된 정보들을 저장한다. 이렇게 되면 한 멤버가 여러 예약을 했고..
공공데이터를 사용해서 전기차 관련 프로젝트를 진행하기 위해서는 해당 데이터들을 DB에 저장해야 한다. https://www.data.go.kr/ 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 우선 본인이 사용하고자 하는 데이터를 검색해서 찾은 후 사용 신청을 하면된다. 신청하면 바로 사용이 가능하고 API키는 복사해서 호출시 넣으면 된다. API마다 필수 request값이 있으니 해당 API 문서를 잘 참고하는 것이 중요하다! 나는 xml로 반환되는 데이터들을 DB에 저장할 것이기 때문에 우선, DataService..
스프링 배치(Spring Batch)란? 대용량 일괄처리의 편의를 위해 설계된 가볍고 포괄적인 배치 프레임워크입니다. 스프링 배치는 로깅/추적, 트랜잭션 관리, 작업처리통계, 작업 재시작, 건너뛰기, 리소스 관리등 대용량 레코드 처리에 필수적인 기능을 제공합니다. 최적화 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 기능을 제공합니다. 배치가 실패하여 작업을 재시작 하게 된다면 처음부터가 아닌 실패한 지점부터 실행을 합니다. 중복 실행을 막기 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행 시 Exception이 발생합니다. 일괄 처리가 필요한 경우 대용량의 비지니스 데이터를 복잡한 작업으로 처리해야 하는 경우 특정한 시점에 스케줄러를 통해..
application.properties또는 application.yml파일을 작성하다 보면 data.password와 같이 형상관리 페이지에는 숨기고 싶은 정보들이 존재합니다. 이를 숨기거나 암호화할 수 있는 방법이 여러 개 존재하는데, 이 중 사용자의 입력을 통해 application.yml에 Argument 전달하는 방법을 알아봅니다. 방법 .yml 사용 시 spring: secret: url: ${secret.url} password: ${secret.password} .properties 사용 시 spring.secret.url: ${secret.url} spring.secret.password: ${secret.password} ${ }는 argument 이름을 정할 수 있어 상황에 맞게 원하..
스프링부트 JPA란? 자바와 데이터베이스의 중간단계 역할 JPA는 개발자가 직접 작성해야 하는 SQL 쿼리도 자동으로 해주기 때문에 개발 생산성이 매우 높아짐 객체를 JPA에 넣으면 중간에 디비에 sql을 보내고 데이터를 가져오고 하는 것을 알아서 처리해준다. JPQL: 테이블을 보고 질의를 날리는 게 아니라 객체를 대상으로 쿼리를 날리면 SQL로 번역됨 JPA는 인터페이스고 각 구현체는 여러가지가 있다. 대표적인게 Hibernate JPA는 객체와 ORM이라고 표현할 수 있는데 ORM은 객체와 관계형디비를 매핑해준다 이때 매핑은 어노테이션을 통해서 한다. @Entity JPA가 관리하는 엔티티가 되는 것 @id 얘는 PK이다. @GeneratedValue(strategy=GenerationType.ID..
스프링 부트 마리아 DB 연동 과정 1. DB 생성 DROP DATABASE IF EXISTS DB명; # 생성하려고 하는 DB가 있다면 삭제 CREATE DATABASE DB명; USE DB명; 2. Spring io 접속 https://start.spring.io/ 3.Maria DB, Spring Data JPA 추가 4. EXPLORE 누르면 dependencies jpa와 maria DB 부분이 추가됨 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' # 추가 runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' #추가 testImplementation '..
1. Spring initializer(https://start.spring.io/) 접속 또는 인텔리제이 얼티메이트 버전에서 생성 - Project: Gradle - Language: java - Spring Boot: 3.0.4 (각자 사용할 버전 선택) - Project Metadata : Group => com.ll / Pacaking => jar - Dependencies 추가 Spring Boot Dev Tools, Spring Web, Lombok, Thymeleaf 추가하기 2. IntelliJ 설정 Gradle : Intellij 설정 및 Java version 17 설정 ProjectStructure : 설정한 Java version과 동일하게 SDK 맞추기 Compiler : Buil..