SpringBoot 38

[Hanaro] 60일차 / Spring Boot (JPA, HttpSession, Logging)

JPA 데이터 저장소 ArrayList→ MySQL 변환 실습 Model 사용 프로젝트 변환 build.gradle- dependencies 추가 Spring Data JPA, Lombok, MySQL, H2, Spring Web, Spring Web Services, Thymeleaf application.properties 추가 # thymeleaf spring.thymeleaf.cache=false # jpa spring.jpa.hibernate.ddl-auto=update spring.jpa.generate-ddl=false spring.jpa.show-sql=true spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect # prett..

[Hanaro] 58일차 / Spring Boot (Thymeleaf Layout), JSP

Thymeleaf Layout 타임리프로 레이아웃 설정하기 application.properties 추가 spring.thymeleaf.cache=false spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html build.gradle 추가 implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' template 폴더에 layout.html, first.html 생성 layout.html first.html 화면 templates 폴더 안의 fragments 폴더 생성 head.html 생성 head.html 타이틀 header.html 생성 헤더입니다. foote..

[Spring Boot] URI 어노테이션

URI 어노테이션 2가지 (경로 설정) @RequestParam URI 형식 localhost:8080/update-form?index=1 메서드 구현 // 관리자 페이지 - 회원목록 상세 출력 // localhost:8080/update-form?index=1 @GetMapping("/update-form") public String viewUpdateForm(@RequestParam int index, Model model) { model.addAttribute("index", index); Member member = memberList.get(index-1); model.addAttribute("member", member); return "update-form"; } html에서 경로이동 설정 ..

[Spring DB] DB 관련 어노테이션, 데이터 모델링 클래스

DB 관련 어노테이션 @Entity DB 테이블과 1:1로 매칭되는 JPA 클래스 @Table 클래스 이름이 테이블 이름으로 자동으로 설정되는데, 이럴때 테이블명 직접 지정할 때 사용 @Id 기본키 id 열로 사용 @GeneratedValue(strategy = GenerationType.IDENTITY) GenerationType 종류 IDENTITY MySQL, MariaDB, PostreSQL, H2DB SEQUENCE Oracle, PostreSQL AUTO 자동 선택 @Column(name=”컬럼명”) 해당 멤버 변수의 컬럼명 지정 @DateTimeFormat(pattern = “yyyy-mm-dd”) Date 데이터를 가져올 때 날짜 형식 사용자 지정 가능 @RequestParam @Model..

[Spring Boot] Model에서 Rest API로 변환

개념 정리 이전까지는 @RequestParam으로 사용자 입력 값을 가져오고, Model을 사용하여 addAtribute로 데이터를 보내서 출력했다. 하지만 REST API를 사용한다면 JSON 형식의 데이터를 주고 받는다. @RequestBody로 사용자 입력 값을 가져오고 @ResponseBody로 데이터를 보내준다. 그리고 View만 출력하는 ViewController와 REST API 메서드만 모여있는 ApiController를 구분해서 구현한다. ApiController 클래스는 @RestController 어노테이션을 준다. (@RestController = @Controller + @ResponseBody) RestController의 주요 메소드는 GET, POST(create), DELE..

[Spring Boot] Test

Spring Boot Test Test 관련 어노테이션 @SpringBootTest 테스트 환경을 기본 설정해주는 어노테이션 @Test 테스트할 메소드에 붙이는 어노테이션 @DisplayName(”메소드 이름”) 해당 어노테이션에 메소드 이름을 적으면 콘솔에 출력된다. @BeforeAll 해당 메소드가 클래스 초기화시(테스트 실행 시 시작할 때) 한 번 수행되도록 하는 어노테이션 static 메소드로 생성 (static void 메소드명() {…}) @BeforeEach 해당 메소드가 @Test 메소드를 호출시마다 한 번 수행되도록 하는 어노테이션 void 메소드명() {…} 테스트 방법 build.gradle에 아래 코드 추가 testCompileOnly 'org.projectlombok:lombok'..

[Spring DB] Repository (JPA, JPQL, Native SQL)

Spring Boot (JPA, JPQL, Native SQL) JpaRepository 스프링 JPA 라이브러리에서 Entity에 대한 기본적인 CRUD가 가능하도록 만든 인터페이스 Repository JpaRepository를 상속받아 엔티티Repository 인터페이스를 생성한다. (@Repository 어노테이션 추가) JPA Repository에서 작성하는 SQL문 자동 실행되는 함수 JPA 기본 함수 종류 finaAll() SELECT * FROM 테이블명 을 실행 findBy열이름() SELECT 열이름 FROM 테이블명 을 실행 예시 findById((long)2) ⇒ SELECT * FROM 테이블명 WHERE id=2; findByUser_id(”hong”) ⇒ SELECT * FROM..

[Hanaro] 57일차 / Spring Boot (URI 어노테이션)

연습문제 풀이 URI 어노테이션 2가지 (경로 설정) @RequestParam URI 형식 localhost:8080/update-form?index=1 메서드 구현 // 관리자 페이지 - 회원목록 상세 출력 // localhost:8080/update-form?index=1 @GetMapping("/update-form") public String viewUpdateForm(@RequestParam int index, Model model) { model.addAttribute("index", index); Member member = memberList.get(index-1); model.addAttribute("member", member); return "update-form"; } html에서 ..

[Hanaro] 54일차 / Spring Boot (Test)

Spring Boot Test Test 관련 어노테이션 @SpringBootTest 테스트 환경을 기본 설정해주는 어노테이션 @Test 테스트할 메소드에 붙이는 어노테이션 @DisplayName(”메소드 이름”) 해당 어노테이션에 메소드 이름을 적으면 콘솔에 출력된다. @BeforeAll 해당 메소드가 클래스 초기화시(테스트 실행 시 시작할 때) 한 번 수행되도록 하는 어노테이션 static 메소드로 생성 (static void 메소드명() {…}) @BeforeEach 해당 메소드가 @Test 메소드를 호출시마다 한 번 수행되도록 하는 어노테이션 void 메소드명() {…} 테스트 방법 build.gradle에 아래 코드 추가 testCompileOnly 'org.projectlombok:lombok'..

[Hanaro] 53일차 / Jar 생성, Bootstrap, H2 DB 연동, Spring Boot (JPA, JPQL, Native SQL)

Jar 파일 생성 인텔리제이 File - Project Structure Project Settings - Artifacts에서 + 버튼 누르고 Jar - From modules with dependencies… 클릭 Main Class 선택 (psvm 있는 클래스 지정) 후 OK Build - Build Artifact에서 Action - Build 선택하면 jar 파일 생성 완료 마우스 오른쪽 누른 후 run 하거나, 터미널에서 java -jar jar파일명 입력 으로 실행 Bootstrap html 코드 자동생성 ! 누르고 엔터 부트스트랩 적용하기 head 태그 블록 안에 title 태그 바로 밑에 붙여 넣기 body 태그 끝나는 줄 바로 위에 아래 코드넣기 ... 부트스트랩의 모든 속성은 클래스 ..

728x90