개발 환경
spring-boot, java11, jsp, maven, jpa
1. 기존 사용하던 eclipse를 이용하려면
Help>Eclipse Marketplace에서 STS(Spring Tool Suite) 확장 모듈 설치
기존 이클립스를 사용하지 않아도 되면 STS통합 개발환경 설치
2. 프로젝트 생성은 File>New>Spring Strarter Project에서 필요한 환경에 맞춰주면 된다.
(start.spring.io) 사이트에 직접 접속해서 설정도 가능.
이번 설정은 builder: maven, java Version: 11로 선택 후 Next로 넘어가서
프로젝트에 필요한 라이브러리(Dependency)를 선택한다. (추후에 소스상에서 추가도 가능)
우선, 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는 RDMBS(관계형 데이터 베이스)이다.
oracle, mysql 등 과는 다르게 인메모리 데이터 베이스이다.
설치 링크
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는 Getter/Setter, toString 등을 컴파일시 자동으로 생성해준다.
설치 링크
https://projectlombok.org/download
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;
}
}
애자일 소프트웨어 개발 선언 (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 |