728x90

SPING/Spring 정리 14

[Spring] Spring Boot JPA

JPA란? Java Persistence API (자바 ORM 기술에 대한 API 표준 명세) - 한마디로 ORM을 사용하기 위한 인터페이스를 모아둔 것 이라고 볼 수 있다. - 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. - ORM에 대한 자바 API 규격이며 Hibernate, OpenJPA 등이 JPA를 구현한 구현체 이다. (ORM을 사용하기 위한 인터페이스를 모아둔 것) - Hibernate 이외에도 EcipseLink, DataNucleus, OpenJPA, TopLink 등이 있습니다. ※결국 인터페이스이기 때문에 JPA를 사용하기 위해서는 JPA를 구현한 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임워크를 사용해야 ..

SPING/Spring 정리 2023.06.28

[SPring] Spring Boot Mybatis

Spring Boot Mybatis Mybatis (마이바티스) 란? 자바 객체와 SQL문 사이를 자동으로 매핑(Mapping)해주는 ORM(Object Relation Mapping) 프레임워크 SQL 파일을 별도로 분리하여 관리할 수 있고, 객체-SQL 사이의 파라미터를 자동으로 매핑해주기 때문에 편리 SQL쿼리문을 그대로 사용하면서 도메인객체나 VO 객체 중심으로 개발이 가능 Mybatis 특징 - 쉬운 접근성과 코드의 간결함 데이터의 저장, 조회, 변경, 삭제를 다루는 가장 간단한 persistence framework(퍼시스턴스 프레임워크) XML 형태로 작성된 JDBC 코드라 생각해도 될 만큼 JDBC의 모든 기능을 MyBatis가 대부분 제공한다. JDBC의 기능을 자동으로 제공해줘서 깔끔한..

SPING/Spring 정리 2023.06.26

[Spring] Spring Boot JSP

Spring Boot JSP JSP(Java Server Page)란? JSP는 Java Server Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. spring으로 jsp view 만들어서 사용할 경우 경로 : JSP : src/main/java/webapp/WEB-INF/view안에 .jsp 파일 JSP 컴파일을 위한 라이브러리 추가 JSP(Java Server Page)도 템플릿 엔진이기 때문에 사용하기 위해서는 별도의 라이브러리가 필요합니다. JSP를 지원하..

SPING/Spring 정리 2023.06.26

[Spring] Mustache(머스테치)란?

Mustache(머스테치) Mustache(머스테치)란? Mustache = 수염 수 많은 언어를 지원하는 가장 심플한 템플릿 엔진입니다. 대부분의 언어를 지원하다 보니 자바에서 사용될 때는 서버 템플릿 엔진, 자바스크립트에서 사용될 때는 클라이언트 템플릿 엔진으로 모두 사용할 수 있습니다. Mustache(머스테치) 장점 문법이 다른 템플릿 엔진보다 심플합니다. 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할이 명확하게 분리됩니다. mustache.js와 mustache.java 2가지가 다 있기 때문에 하나의 문법으로 클라이언트/서버 템플릿 모두 사용 가능합니다. Mustache(머스테치) 단점 JSP, Velocity : 스프링 부트에서는 권장하지 않는 템플릿 엔진입니다. Freemark..

SPING/Spring 정리 2023.06.25

[Spring] Thymeleaf(타임리프)란? Thymeleaf(타임리프)와 JSP 차이점은 뭘까?

Spring Boot Thymeleaf Thymeleaf란 ? Thymeleaf (타임리프)는 controller가 전달하는 데이터를 이용해 동적으로 화면을 만들어주는 역활을 view templates 엔진 서버상에서 동작하지 않아도 HTML 파일의 내용을 바로 확인이 가능하다. 순수 HTML 구조를 유지한다. HTML 타임리프 사용시 추가 타임리프 기본 사용법 HTML 태그 중에서 th 태그를 이용해서 데이터 표현 변수 : ${} 객체 변숫값 : *{} 메세지: #{} 링크:@{} JSP와 Thymeleaf 차이점 타임리프는 순수 HTML을 유지하기 때문에, Natural Template(내추럴 템플릿)이라고도 불린다. 서버를 가동하지 않으면 순수 HTML과 서버를 구동하여 view templates을..

SPING/Spring 정리 2023.06.25

[Spring] Spring Boot Gradle이란? (Groovy, Kotlin)

Spring Boot Gradle Gradle이란? Gradle은 그루비(Groovy)를 기반으로 한 빌드 도구이다. Ant와 Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 도구이다. Spring Boot 에서 Gradle로 project 만들때 선택 하면 spring boot project 만드는 창이 뜬다. Gradle Type 2가지가 있다. Groovy Kotlin Gradle 특징 - 오픈소스 기반의 빌드 자동화 시스템 - JVM 기반의 빌드도구로 기존의 Ant, Maven을 보완 - Android OS의 빌드 도구로 채택 - Maven을 사용할 수 있는 변환 기능 컨벤션 프레임워크 - Maven과 Ivy 레파지토리 지원 - 멀티 프로젝트의..

SPING/Spring 정리 2023.06.25

[Spring] Spring Boot Maven

Spring Boot Maven Spring Boot로 Maven project 만들기 선택 하면 Spring Boot로 project 만드는 창이 뜬다. Type은 Maven이 기본으로 되어있다. Type을 눌러보면 Maven과 Gradle이 나온다. (Gradle은 따로 설명을 적어둔 포스팅이 있다. 참고) Maven 특징 - Apache Ant 대안으로 만들어진 Apache 라이센스로 배포되는 오픈 소스 소프트웨어 - 자바용 프로젝트 관리 도구 - xml을 이용한 빌드 시스템 - 직접 연결한 라이브러리들과 라이브러리들이 엮여있는 다른 라이브러리들까지 연동되어 관리 Maven과 Gradle 차이점 (대부분 Maven보다 Gradle의 장점을 더 추천한다고한다.) - Gradle : xml로 관리되는 ..

SPING/Spring 정리 2023.06.25

[Spring] Thymeleaf 사용하기 application.properties 설정

Thymeleaf 사용하기 application.properties 설정 server.port= # 서버포트 변경 server.port=8080 선언하지 않으면 8080이 기본 spring.thymeleaf.suffix= # 템플릿 확장자 지정 spring.thymeleaf.suffix=.html html을 사용할거면 .html로 설정 만일 jsp를 사용한다면 .jsp를 입력해주면 된다. spring.thymeleaf.prefix= # 템플릿파일의 위치 지정 (뒤에 공백이 있으면 않됨) spring.thymeleaf.prefix=classpath:templates/ 경로를 잡아준다. resources 폴더 밑 templates 폴더가 보이고 그 밑으로 html 파일이 있는 것을 확인할 수 있다. spri..

SPING/Spring 정리 2023.06.25
728x90