목록Spring Boot (10)
J.one_DevNote

1. Gradle설정 ( JPA와 Hibernate 추가 ) - 롬복은 Gradle로 설정했지만 막상 적용이 안되서 lombok.jar를 따로 받아서 적용시켜주었다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.hibernate:hibernate-core:6.1.0.Final' annotationProcessor 'org.projectlombok:lombok' 2. JPA를 테스트하기 위해 무료 회원가입 템플릿을 하나 가져왔다. 2. Entity생성 package com.example.demo.module.signUp.vo; import javax.persistence.*; import ..

JPA(Java Persistence API) JPA는 자바 ORM 기술 표준으로 사용되는 인터페이스이다. 따라서 실제적으로 구현된것이 아니라 구현된 객체와 매핑을 해주기 위해 사용되는 프레임워크 혹은 기술 명세라고 생각하면된다. 이러한 JPA라는 기술명세를 바탕으로 구현한 대표적인 구현체로는 Hibernate, EclipseLink, DataNucleus 가 있다. 하지만 거의 Hibernate가 사용된다고 보면 된다. **ORM (Object-Relational Mapping) : 객체와 관계형 데이터베이스를 매핑한다는 뜻 JPA의 장점 생산성 향상 : JPA는 SQL을 직접 사용하지않고, 메소드 호출 방식을 이용하기 때문에 생상성 향상에 도움을 준다. 유지보수 : 테이블 엔티티가 변경되어도 JPA가..
Thymeleaf의 장점 1. thymeleaf가 jsp에 비해 이상한 태그도 없고, 같은 의미를 가진 속성을 가지기 때문에 더 HTML 스럽습니다. 2. JSP와 달리 프로토타입 코드를 작성할 수 있습니다. 기존에 html 코드와 타임리프 코드를 동시에 사용할 경우, 타임리프가 이를 대체할 것임이 명백하기 때문입니다. JSP는 기존의 html 코드와 동시에 코드를 작성할 수 없어 프로토타입 코드를 작성할 수 없습니다. 3. Thymeleaf는 수정할 때에도 큰 장점을 가집니다. view를 수정하고 싶을 때 렌더링 없이 페이지 url에 직접 접근해 소스의 css에서 색상을 수정하고 F5를 누르면 뷰를 쉽게 바꿔볼 수 있습니다. 반면 JSP는 서버를 키고, 수정을 원하는 페이지까지 직접 클릭을 여러번 해 ..

Web Socket이란? 기존 단방향 통신이었던 HTTP와 달리 양방향 통신을 제공하기 위해 개발된 프로토콜이다. Web Socket은 HandShake 과정을 통해 커넥션을 생성하며, 이 요청은 방화벽 설정이 필요없이 80, 443 포트를 이용하여 양방향 통신을 하게된다. 또한 HTTP규격을 그대로 유지할 수 있기 때문에 HTTP인증, CORS 등을 동일하게 적용할 수 있다는 장점이 있다. HTTP vs AJAX vs WebSocket HTTP는 URL을 요청을 통한 Request/Response 형식으로 서버와 상호 작용을 합니다.AJAX는 XMLHttpRequest객체를 통해 웹서버에 요청하고, 서버는 XML, JSON, Text형식으로 응답하여줍니다.Web Socket은 요청을 응답한후 연결을 끊..

Gradle이란? Gradle이란 Groovy 기반으로한 Open Source Build Tool이다. Gradle은 Maven같은 이전 세대 빌드 도구의 단점을 보완하여 구성되어졌다. Ant(빌드 도구) 와 Maven의 장점을 모아 만들었다. 의존성 관리를 위한 다양한 방법을 제공한다. JVM에서 동작하는 스크립트 언어인 Groovy기반의 DSL를 사용한다. Maven의 pom.xml을 Gradle 용으로 변환할 수 있어 Maven 라이브러리를 모두 그대로 가져다 사용할 수 있다 Gradle Wrapper를 이용하면 Gadle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있다. Groovy가 자바 문법과 유사해 자바 개발자가 쉽게 익힐 수 있다. Gradle이 속도가 빠른 이유는? 1) 점진적 빌..

API(Application Programming Interface)란 무엇인가? API는 어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구입니다 예를 들면 API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달합니다. API 종류 1. REST(Representational State Transfer) REST는 네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍처 스타일입니다. REST API는 인터넷 식별자(URI)와 HTTP 프로토콜을 기반으로 합니다. REST는 HTTP 프로토콜 덕분에 ‘단순함’이 핵심이라고 할 수 있..

1. SqlSessionTemplate 방식 (Mybatis 3.0 이전) Mybatis - String Substitution 가장 대중화되어있는 방식 xml 파일에 작성된 쿼리을 통해 실행시킨다 Controller Service DAO Mapper Xml 2. Mapper Interface 방식 (Mybatis 3.0 이후) Mybatis - String Substitution 3이상 버전부터 mapper.xml 대신 interface 클래스의 Annotation을 통해 SQL을 사용할 수 있다. controller service mapper 참조 : https://mybatis.org/mybatis-3/ko/index.html

외부 설정 파일 이란? 애플리케이션에서 사용하는 여러가지 설정 값들을 애플리케이션의 밖이나 안에 정의할 수 있는 기능을 말합니다. application.properties https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html 자바 응용프로그램 내에서 사용되는 설정과 관련된 변수들을 파일에다가 쓰고, 읽어오는 방식에 사용되는 파일입니다. 설정과 관련된 변수들은 문자열로 저장되고 각 줄은 일반적으로 하나의 프로퍼티를 저장하며, 한 문자열은 key, value 쌍으로 저장됩니다. **줄의 맨 앞에 # 또는 ! 를 사용하여 주석처리를 할 수 있습니다. **개발시 로컬 서버, 개발서버, 실 서버에서 구동할..