Spring boot 프로젝트를 생성할 수 있다.
Group : my.examples Artifact : blog
Dependencies devtools, lombok, web, thymeleaf
프로젝트 생성 버튼을 누르면 파일이 다운로드. 압축을 해제.
스프링 부트는 내장 톰켓을 가지고 있다. 톰켓을 설치할 필요가 없다. 이 내장 톰켓은 기본적으로 jsp 를 지원하지 않는다. 스프링 쪽에서 지원하는 뷰기술은 thymeleaf 이다.
jsp를 사용하고 싶으면 별도의 starter를 추가해야한다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
Spring boot 의 Starter라는 것은 라이브러리나 프레임워크의 모음 + 자동 설정.
resources / templates 에 index.html 파일을 만든다.
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello Spring Boot!</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Hello Spring Boot <span th:text="${name}"></span></h1>
</body>
</html>
my.examples.blog.controller package를 만든다. 해당 package아래에 MainController를 만든다.
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class MainController {
@GetMapping("/main")
public String main(Model model){
model.addAttribute("name", "urstory");
return "index";
}
}
실행은 main메소드가 있는 BootApplication(자동생성)을 실행한다. 소스코드가 수정되면 Build - Build Project를 하면 서버를 재시작하지 않고 반영가능하다.
- 설정 파일이 들어있는 곳
org.springfaramework.boot:spring-boot-autoconfig:2.1.2. RELEASE
- META-INF
- spring.factories
Spring JDBC 프로그래밍을 하고 싶다면?
- pom.xml 파일에 다음을 추가
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency>
- application.properties 에 다음을 설정한다.
spring.datasource.url=jdbc:mysql://localhost:3306/connectdb?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=connect spring.datasource.password=connect spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 다음의 객체를 주입받아 DAO를 만든다.
@Autowired
NamedParameterJdbcTemplate jdbc;