-
프로젝트 기본 환경설정 - 1프로젝트 2023. 1. 18. 14:04
1) 스프링부트 스타터 프로젝트 생성
2) mysql 연동
3) bootstrap 템플릿 적용하기
스프링부트 스타터 프로젝트 생성하기
[스프링부트/웹 애플리케이션 개발]스프링부트스타터 프로젝트 생성, 스프링부트버전확인, lombok
1. 프로젝트 생성 스프링 부트 스타터(https://start.spring.io/) - dependencies > spring web > thymeleaf > spring data JPA > H2 Database > Lombok > Validation 2. 스프링부트 버전 확인 - build.gradle 에서 확인 가능 3. run > 오류
gitofjy.tistory.com
mysql 연동
1. sampledb 생성
C:\Users\USER>mysql -u root -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41 Server version: 8.0.31 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database sampledb; Query OK, 1 row affected (0.01 sec) mysql> grant all privileges on sampledb.* to 'root'@'localhost'; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | connectdb | | information_schema | | mysql | | performance_schema | | sakila | | sampledb | | sys | | world | +--------------------+ 8 rows in set (0.00 sec)
- mysql -u root -p
- 패스워드 입력
- create database sampledb; (생성)
- grant all privileges on sampledb.* to 'root'@'localhost'; (권한부여)- show databases; (확인)
2. buil.gradle 의존성 추가
dependencies { implementation 'mysql:mysql-connector-java' }
3. application.properties db 정보 추가
# MySQL 설정 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # DB Source URL spring.datasource.url=jdbc:mysql://<IP>:<Port/<DB>?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul # DB username spring.datasource.username=<username> # DB password spring.datasource.password=<password> # true 설정시 JPA 쿼리문 확인 가능 spring.jpa.show-sql=true # DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다. spring.jpa.hibernate.ddl-auto=update # JPA의 구현체인 Hibernate가 동작하면서 발생한 SQL의 가독성을 높여준다. spring.jpa.properties.hibernate.format_sql=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sampledb?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul spring.datasource.username=root spring.datasource.password=1234 spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true
4. 연결확인
package recordmyfashion.recordmyfashion; import org.springframework.data.annotation.Id; import javax.persistence.*; @Table(name = "table_demo") @Entity public class Demo { @javax.persistence.Id @GeneratedValue(strategy = GenerationType.SEQUENCE) @Column(name = "demo", nullable = false) private Long demo; @Id @GeneratedValue private Long id; private String demoText; public Long getDemo() { return demo; } public void setDemo(Long demo) { this.demo = demo; } }
부트스트랩 적용
0. 연결확인 - testController, test.html 확인
package recordmyfashion.recordmyfashion; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class testController { @GetMapping("/") public String test() { return "test"; } }
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <body> <div class="container"> <div> <h1>Hello Spring</h1> <p>test입니다</p> </div> </div> <!-- /container --> </body> </html>
1. 다운로드
( https://startbootstrap.com/template/shop-homepage )
2. 압축 풀고 static, templates 폴더에 넣기
기본 폴더 > static 안에 넣기
index.html > templates 안에 넣기
3. testController 코드 수정 후 실행 > 실행되는데 CSS 깨짐
@Controller public class testController { @GetMapping("/") public String test() { return "index"; } }
4. index.html에서 경로 수정
//수정 전 <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="" /> <meta name="author" content="" /> <title>Shop Homepage - Start Bootstrap Template</title> <!-- Favicon--> <link rel="icon" type="image/x-icon" href="assets/favicon.ico" /> <!-- Bootstrap icons--> <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" /> <!-- Core theme CSS (includes Bootstrap)--> <link href="css/styles.css" rel="stylesheet" /> </head>
//수정 후 <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="" /> <meta name="author" content="" /> <title>Shop Homepage - Start Bootstrap Template</title> <!-- Favicon--> <link rel="icon" type="image/x-icon" href="bootstrap/assets/favicon.ico" /> <!-- Bootstrap icons--> <link href="bootstrap/font/bootstrap-icons.css" rel="stylesheet" /> <!-- Core theme CSS (includes Bootstrap)--> <link href="bootstrap/css/styles.css" rel="stylesheet" /> </head>
참고
db 연동 참고 : https://velog.io/@sians0209/Spring-Spring-gradle-MySQL-JPA-%EC%97%B0%EB%8F%99
부트스트랩 참고 : https://dev-jwblog.tistory.com/33
728x90'프로젝트' 카테고리의 다른 글
JSON 덮어쓰기, JSONArray에 JSONObject put할 때의 문제 (0) 2023.04.26 웹 API를 위한 JSON vs XML (0) 2023.04.25 REST와 REST API (0) 2022.12.26 스프링 프레임워크(Framework)에 대하여, 스프링부트? (0) 2022.12.04 세션 로그인 구현 복습 (0) 2022.11.22