전체 글 31

Jar파일 생성하기

JAR (JAVA Archive) 란? java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일 Class(java 리소스, 속성파일), 라이브러리를 포함 JRE(Java Runtime Environment)만 있어도 실행이 가능함 더보기 참고) WAR(Web Application Archive) Servlet/ Jsp 컨테이너에 배치할 수 있는 웹 애플리케이션(Web Application) 압축파일 포맷 JAR 파일 일종으로 웹 애플리케이션 전체 패키징 하기위한 JAR파일 1. File > Project Structure 선택 2. Artifacts> + 버튼 클릭 > JAR > From modules with dependencies... 선택 3. Module : main 선택, Mai..

기타 2023.06.13

Logging설정

Log4j구조 : xml파일에서 사용할 공용 속성 값을 정의한다. : StringBuilder에서 사용되는 append와 비슷한 개념이다, 실제로 로그를 작성하는 객체를 정의한다고 생각하면 된다. : Appender가 작성한 대상들을 명시해준다. 요소 설명 Logger 출력할 메시지를 Appender에 전달한다. Appender 전달된 로그를 어디에 출력할 지 결정한다. (콘솔 출력, 파일 기록, DB 저장 등) Layout 로그를 어떤 형식으로 출력할 지 결정한다. 로그 레벨 설명 FATAL 아주 심각한 에러가 발생한 상태를 나타낸다. ERROR 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다. WARN 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될수 있는 경고성 메시 지를..

백엔드/java 2023.02.13

Spring boot #10 ORM,JPA

ORM이란? 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미 -java의 데이터 클래스와 관계형 데이터 베이스의 테이블을 매핑 객체지향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약사항을 해결해주는 역할을 수행함. 대표적으로 JPA, Hibernate등이 있음(Persistent API) ORM장점 SQL 쿼리가 아닌 직관적인 코드로 데이터를 조작할 수 있음 재사용 및 유지보수가 편리함 DBMS에 대한 종속성이 줄어듬 ORM 단점 복잡성이 커질 경우 ORM만으로 구현하기 어려움 잘못 구현할 경우 속도 저하 발생 대형 쿼리는 별도의 튜닝이 필요할 수 있음 JPA란 ? JPA는 java Persistance API의 줄임말로, ORM과 관련된 인터페이스의 모음 JA..

카테고리 없음 2023.01.29

도커란?(작성중)

* 도커란 ? "데이터 또는 프로그램을 격리시키는 기능" 을 제공하는 소프트 웨어 내부적으로 리눅스 운영체제가 사용된다. -> 실행 환경을 독립적으로 격리한 컨테이너 * 도커를 사용하는 이유 ? 대부분 프로그램 간의 공유로 인한 오류를 해결하기 위함.(프로그램의 격리) -> 한 서버에서 실행되면서 발생하는 대부분의 문제를 해결할 수 있음. * 서버란 ? "어떤 서비스(service)를 제공(serve)하는 것" 1. 기능적 의미의 서버 2. 물리적 컴퓨터로서의 서버 무슨무슨 서버 -> "무슨무슨 기능을 제공한다는 뜻" 예) 웹 서버 = 웹기능을 제공함 메일 서버 = 메일 기능을 제공함 운영체제 위에 도커엔진이 동작하고 그위에 컨테이너가 동작함. * 운영체제란 ? 소프트웨어나 프로그램의 명령을 하드웨어에 ..

기타 2022.11.27

Springboot #8 Database 적용

Spring Boot 서비스 구조 Entity(Domain) 데이터베이스에 쓰일 컬럼과 여러개 엔티티 간의 연관관계를 정의 실제 데이터베이스의 테이블과 1:1로 매핑 이 클래스의 필드는 각 테이블의 컬럼(Column)을 의미 Repository Entity에 의해 생성된 데이터베이스에 접근하는 메소드를 사용하기위한 인터페이스 Service와 DB를 연결하는 고리 역할 데이터베이스에 적용하고자 하는 CRUD를 정의 DAO(Data Access Object) 데이터베이스에 접근하는 객체를 의미(Persistence Layer) Service가 DB에 연결할 수 있게 해주는 역할 DB를 사용하여 데이터를 조회하거나 조작하는 기능을 전담 DTO(Data Transfer Object) DTO는 VO(Value O..

카테고리 없음 2022.07.17

Springboot #8 Lombok 대표 어노테이션

@Getter / @Setter 해당 클래스에 선언되어 있는 필드 기반 'getField', 'setField' 와 같은 방식으로 자동 메서드 생성 @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor @NoArgsConstructor : 파라미터가 없는 생성자를 생성 @AllArgsConstructor : 모든 필드값을 파라미터로 갖는 생성자를 생성 @RequiredArgsConstructor : 필드값중 final이나 @NotNull 인 값을 갖는 생성자를 생성 @ToString toString메소드를 자동으로 생성해주는 기능 exclude속성을 사용하여 특정 필드를 toString에서 제외 가능 @EqualsAndHashCode e..

Springboot #7 PUT,DELETE API

PUT API 해당 리소스가 존재하면 갱신하고, 리소스가 없을 경우에는 새로 생성해주는 API 업데이트를 위한 메서드 DELETE API 서버를 통해 리소스를 삭제하기 위해 사용되는 API 일반적으로 @PathVariable을 통해 리소스 ID등을 받아 처리함 @DeleteMapping("/delete/{variable}") public String DeleteMember(@PathVariable("variable") String variable){ return variable; } ResponseEntity Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스를 상속받아 사용하는 클래스 사용자의 HttpRequest에 대한 응답 데이터를 포함 HttpStatus, Http..

Springboot #6 POST API

POST API 리소스를 추가하기 위해 사용되는 API @PostMapping : POST API를 사용하기 위한 어노테이션 (@RequestMapping + POST Method) 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청 @RequestBody를 이용하여 body에 담긴 값을 받아야함. @PostMapping("/hello/dto") public HelloResponseDto helloDto(@RequestBody Map param){ ... } DTO 사용 @PostMapping("/hello/dto") public HelloResponseDto helloDto(@RequestBody MemberDTO memberDTO){ ... }

Spring boot #5 GET API

@GetMapping(without Param) 별도의 파라미터 없이 GET API를 호출하는 경우 사용되는 방법 @GetMapping("/hello") public String hello(){ return "hello"; } @PathVariable GET 형식의 요청에서 파라미터를 전달하기 위해 URL에 값을 담아 요청하는 방법 @GetMapping("/hello/{id}") public String hello(@PathVariable("id") String id){ return id; } @RequestParam GET 형식의 요청에서 쿼리 문자열을 전달하기 위해 사용되는 방법 '?'를 기준으로 우측에 {키} = {값}의 형태로 전달되며, 복수 형태로 전달할 경우 &를 사용함 http://local..