스프링 프레임워크를 사용하는 프로젝트를 아주 간편하게 설정할 수 있는 스프링 프레임워크의 서브프로젝트
(1) pom.xml 내용 확인
(2) 자동 생성된 클래스 파일 확인
ServletInitializer.java
…….Application.java
@SpringBootApplication
붙어 있음src -> main -> resources -> application.properties
본인의 Db 설정에 맞춰서 입력
application.properties에서 한글을 사용하지 않으면 주석은 #
을 사용
소스 코드
# 포트 번호
server.port=8080
# db connection
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #db driver
spring.datasource.url=jdbc:mysql: # localhost:3306/springdb
spring.datasource.username=root # db 아이디
spring.datasource.password=1234 # db 패스워드
src -> main -> java -> (프로젝트 생성 시 입력한 패키지) -> 클래스 생성 -> 클래스 명 HelloController 추가
warn 오류는 패키지 mapper를 설정하지 않아 나는 오류입니다.
이는 후에 패키지 mapper 설정을 하면 해결됩니다.
정상적으로 되었다면 결과는 아래와 같습니다
Port 8080 is already in use
가장 자주 나는 톰캣 에러입니다.
포트번호 8080을 이미 사용중라 에러가 나는 것입니다.
포트번호 8080을 점유중인 프로세스를 찾아 제거한 후 다시 실행하면 됩니다.
맥의 명령어입니다.
sudo lsof -i: 포트번호
포트번호를 조회하는 명령어입니다.
명령어 입력 후 계정 비밀번호를 입력하면 포트번호 8080을 점유하고 있는 프로세스가 나옵니다.
kill
: 점유하고 있는 프로세스 번호
저는 1993 프로세스가 8080을 점유하고 있어 kill 하였습니다.
jsp view 소스코드
# jsp view
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
pom.xml 클릭 후 하단 메뉴 Dependencies 클릭 Add
검색 결과 로딩이 오래 걸리나 창이 나오지 않는 분들은 아래 소스 코드를
pom.xml의 소스의 </dependencies>
안에 추가하시면 됩니다.
소스 코드
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
소스 코드
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
입력이 잘 되었다면 아래 결과창과 같습니다.
src -> main -> webapp -> 폴더 생성(WEB INF) -> 폴더 생성(views)
view 폴더 안에 jsp 파일 추가 (파일명 :hello.jsp)
파일을 생성했으니 컨트롤러에서 hello 페이지로 이동하는 @RequestMappong
을 작성합니다.
소스 코드
@RequestMapping("/hello")
public String hello(Model model){
model.addAttribute("message","안녕하세요");
return "hello"; // 뷰 페이지 이름 : hello.jsp
}
실행 : Run As / Spring Boot App
웹 브라우저에 url 직접 입력 : http://localhost:8080/hello
아래와 같은 결과 창이 나타납니다.
src/main/resources 폴더에 mappers 폴더 생성하고, 그 안에 product 폴더 생성
product 폴더 안에 ProductMapper.xml 파일 복사
application.properties에 mapper 위치 설정
mybatis.mapper-locations=classpath:mappers/**/*.xml
@ComponentScan
@MapperScan
WebConfig 클래스 생성
<resources mapping="/images/**" location="file:///C:/springWorkspace/product_images/" />