My Space

반응형

개발환경 구축

개발 환경 

spring-boot, java11, jsp, maven, jpa

 

1. 기존 사용하던 eclipse를 이용하려면 

    Help>Eclipse Marketplace에서 STS(Spring Tool Suite) 확장 모듈 설치

   

      기존 이클립스를 사용하지 않아도 되면 STS통합 개발환경 설치

      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

2. 프로젝트 생성은 File>New>Spring Strarter Project에서 필요한 환경에 맞춰주면 된다.

   (start.spring.io) 사이트에 직접 접속해서 설정도 가능.

 

이번 설정은 builder: maven, java Version: 11로 선택 후  Next로 넘어가서

프로젝트에 필요한 라이브러리(Dependency)를 선택한다.  (추후에 소스상에서 추가도 가능)

프로젝트 생성 후의 기본 구조

JSP 사용 가능하도록 설정

우선, Spring-boot에서 지원하는 기본 템플릿 엔진인 thymelef을 사용하지 않고

기존에 사용 해왔던 jsp를 이용하기 위해서는 별도의 셋팅을 해줘야한다.

(Spring-boot 공식문서에서는 jsp사용을 권하지 않는다.)

 

pom.xml일 경우 추가

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
</dependency>
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

gradle일 경우 추가

dependencies {
	compile('javax.servlet:jstl')
	compile("org.apache.tomcat.embed:tomcat-embed-jasper")
}

의존성을 추가했으면, 다음으로 jsp 파일위치를 설정하고 보관할 디렉토리를 생성한다.

 

설정은 src/main/resources/application.properties에서 한다.

application.properties에서 아래와 같이 추가를 해주고 디렉토리를 생성한다.

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

(src/main/webapp/WEB-INF/jsp 디렉토리 생성)

설정을 끝냈으면 jsp, controller을 생성해서 테스트를 해본다.

주의점으로 controller은 메인이 되는 @SpringBootApplication이 존재하는 Application.java의 패키지와 동일한레벨or하위에 있어야 한다.

Why?
@SpringBootApplication에서 Component Scan을 할때 @Controller이 존재하는 클래스를 찾아서 자동으로 빈을 등록하기 때문.

hello.jsp 코드

<html> 
	<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
	<title>Spring Boot Application with JSP</title> 
	</head> 
	<body> 
		Hello, Spring Boot App 
	</body> 
</html>

HelloController.java 코드

@Controller
public class HelloController {	
	@GetMapping("/hello")
	public String Hello() {
		return "/hello";
	}
}

실행 화면

위와 같이 연결이 되면 성공.

 

H2DB 설치 및 셋팅

H2DB는 RDMBS(관계형 데이터 베이스)이다.

oracle, mysql 등 과는 다르게 인메모리 데이터 베이스이다.

 

설치 링크

www.h2database.com/

 

H2 Database Engine (redirect)

H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo

www.h2database.com

h2.bat를 실행하면 H2웹 콘솔이 열리고 기본 값으로 연결을 할 수 있다.

H2DB를 프로젝트에 연결하기 위해서 해줘야하는 작업이있다.

 1. 의존성이 주입되어 있는지 확인

<dependency>
	<groupId>com.h2database</groupId>
	<artifactId>h2</artifactId>
	<scope>runtime</scope>
</dependency>

 2. application.properties 소스 추가

# H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2		// 서버 구동시 localhost:포트번호/h2 로 접속할 수 있다.

# Datasource
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:~/test
spring.datasource.username=sa
spring.datasource.password=

 

lombok 추가

lombok는 Getter/Setter, toString 등을 컴파일시 자동으로 생성해준다.

 

설치 링크

https://projectlombok.org/download

 

Download

 

projectlombok.org

1. 다운 후 IDE 설치된 경로에 풀어주고 의존성을 추가해준다.

<dependency> 
	<groupId>org.projectlombok</groupId> 
	<artifactId>lombok</artifactId>
	<scope>provided</scope> 
</dependency>

2. help > install new software... 들어간 후 롬복 url 입력후 설치

사용 코드

@NoArgsConstructor
@Getter
@Entity
public class Member {
	@Id	
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	@Column(nullable = false)
	private String userId;
	@Column(nullable = false)
	private String userPasswd;	
	@Builder
	public Member(String userId, String userPasswd) {
		this.userId = userId;
		this.userPasswd = userPasswd;
	}
}

'Development > OTHER' 카테고리의 다른 글

애자일 소프트웨어 개발 선언  (0) 2021.07.29
스프링 핵심 원리  (0) 2021.07.29
OAuth/JWT  (0) 2021.07.24
기술면접  (0) 2021.05.04
clean code 3가지 사항  (0) 2021.04.29

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading