[스프링부트 블로그 만들기] STS 설치, 의존성, MySQL 세팅, 깃허브 연동, 프로젝트 실행하기
my code archive
article thumbnail
반응형

오늘부터 일주일 안으로 메타코딩 님의 스프링부트 블로그 만들기 총 75강을...끝내기로 했다 도저언!

 

1강부터 9강까지는 자바 환경변수 설정, MySQL 설치, STS 설치, Git 연동 등 기본적인 세팅에 관한 내용인데 이미 내 노트북에 이런 기본 설정은 되어 있어서 슉슉 넘어갈 수 있었다.

 

🤍STS4 설치

 

이 강의에서는 인텔리제이 대신 STS4 툴을 사용한다. 내 컴퓨터에는 3버전이 깔려 있어서 STS4를 새로 설치해주었다.

https://spring.io/tools

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

 

그리고 STS 4버전에서 JAVA EE 웹 개발을 하려면 따로 설치해야 JAVA EE Tool이 있다.

Help -> Install New SoftWere -> Add -> location: https://download.springsource.com/release/TOOLS/sts4/update/latest 입력하고

Web,XML,Java EE and OSGi Enterprise Development 클릭 -> JAVA EE Tool을 설치하면 된다.

 

설치를 완료하면 Java EE가 생긴다!

 

🤍프로젝트 생성, 의존성 추가, MySQL 세팅

 

Spring Starter Project를 선택하고

 

아래와 같은 내용으로 프로젝트를 생성해 준다.

 

의존성은 Spring Boot DevTools, Lombok, Spring Data JPA, MySQL Driver, Spring Security, Spring Web 총 6가지를 추가해준다.

  • pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.4</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.cos</groupId>
	<artifactId>blog</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>blog</name>
	<description>My First Blog Project</description>
	<properties>
		<java.version>11</java.version>
	</properties>
	
	<dependencies>
		<!-- 추가 라이브러리 시작 -->
		<!-- 시큐리티 태그 라이브러리 -->
		<!--  
		<dependency>
		  <groupId>org.springframework.security</groupId>
		  <artifactId>spring-security-taglibs</artifactId>
		</dependency>
		-->
		
		<!-- JSP 템플릿 엔진 -->
		<dependency>
		  <groupId>org.apache.tomcat.embed</groupId>
		  <artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		
		<!-- JSTL -->
		<dependency>
		  <groupId>javax.servlet</groupId>
		  <artifactId>jstl</artifactId>
		</dependency>
		
		<!-- 자동 재시작 -->
	    <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-devtools</artifactId>
	        <scope>runtime</scope>
	        <optional>true</optional>
	    </dependency>

		<!-- 추가 라이브러리 종료 -->
		

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

		<!--  
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>
		-->
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		
		
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

 

 

강의에서는 아래와 같은 내용으로 데이터베이스를 새로 생성해 주었지만 나는 기존에 사용하던 계정이 있어서 따로 만들지 않고 그대로 사용할 예정이다. 그리고 utf-8 설정도 이미 되어 있는 상태라 넘어갈 수 있었다.

-- 유저이름@아이피주소
create user 'cos'@'%' identified by 'cos1234';
-- ON DB이름.테이블명
-- TO 유저이름@아이피주소
GRANT ALL PRIVILEGES ON *.* TO 'cos'@'%';
CREATE DATABASE blog CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use blog;

 

MySQL 데이터베이스 생성 후에는 STS랑 연결하기 위해 application.yml 파일을 생성해 준다.

 

🤍프로젝트 실행하기

 

BlogControllerTest 파일을 생성 후 프로젝트 우클릭 - run as - Spring Boot App을 클릭하면 콘솔창에 포트 번호 8080번에 애플리케이션이 실행됐다고 뜬다.

 

위에 @GetMapping 어노테이션으로 매핑해둔 주소인 http://localhost:8080/test/hello에 접속하면 아래와 같은 화면이 뜬다!!

 

🤍깃허브(Github) 연동

 

먼저 Git 을 설치하고 프로젝트 폴더에 우클릭해서 Git Bash Here를 선택하면

이렇게 .git 폴더가 생기면서 깃 저장소가 생긴다. 

 

깃허브에 저장소를 새로 만들어주고

 

  • git init
  • git add .
  • git commit -m "커밋 메시지"
  • git remote add origin "저장소 주소"
  • git push-u origin main

순서로 명령어를 입력해 주면

 

깃허브까지 연동이 완료되었다.

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형