본문 바로가기

스프링부트를 이용한 웹페이지 만들기 도전!!/인텔리J

IntelliJ를 이용해서 스프링부트를 시작해보자!! (4) - 창띄우기

이번 포스팅에서 진행할 내용은

 

컨트롤러를 작성하고, DB와 연동하고 home.html을 띄워보는 작업입니다.

 

먼저, 브라우저의 URL을 처리해서 View로 연결시켜주는 코드가 Controller라고 설명했습니다.

 

Controller 클래스 파일을 만드는게 가장 먼저 해야하는 일입니다.

 

@RequestMapping은 따로 method = RequestMethod.GET 이나 RequestMethod.POST 을 지정해주지 않으면

GET과 POST를 모두 처리하는 방식으로 동작합니다.

GET만 처리하고 싶으면 @GetMapping("/") post만 처리하고 싶으면 @PostMapping("/")을 쓰면 됩니다.

화면에서 무언가를 받아오고 싶으면 GetMapping을 쓰면 됩니다.

 

지금 위의 코드는 아무 uri도 입력하지 않으면 home.html로 연결하라는 의미입니다.

그렇다면, home.html을 만들어 보겠습니다.

앞에서 설명했던것 처럼 html파일은 resources - templates 폴더에 넣으시면 됩니다.

오른쪽 상단에 아이콘 4개가 띄워진게 보이실겁니다. 이걸 누르시면 스타일, 자바스크립트 모두 적용된 html을 

미리보기 형식으로 보여줍니다. 서버를 키지 않아도 작동하는 기능이니 디자인을 만들때 사용하시면 좋습니다.

 

바로 실행을 누르시면

 

이런 메세지가 뜨면서 서버가 시작되지 않습니다.

DB설정이 되어있지 않기 때문인데요,

지금은 간단하게만 만들거라서 생략해도 되지만, 나중에 무조건 사용하게 되는 부분이므로 설정하고 시작하겠습니다.

생략하고 싶으신분은 pom.xml에서 DB관련한 디펜던시를 모두 삭제해주시면 DB연동 안하셔도 실행 될겁니다.

DB설정은 해야할일이 아래와 같습니다.

 

1. Mysql 또는 mariaDB설치 이후 저장소를 만들고 포트번호, id, pw를 만드는것

 

-> 저같은경우는 mariaDB를 자주 사용해서 HeidiSQL을 이용해서 이렇게 저장소를 만들었습니다.

대중적으로 많이 사용하는 MySQL WorkBench를 이용해서 만드시려면 먼저 MySQL과 MySQL WorkBench를 설치하시고 아래와 같은 화면에서 진행하시면 됩니다.

 

 

2. application.properties에 포트번호, id, pw, Driver를 설정해주는것

3. Mybatis.Config파일을 만들어서 MapperScan으로 com.example.demo.Dao 패키지를 Scan하는것

 

 

Mybatis.Config파일은 코드가 좀 복잡하니까 아래것을 복/붙 하세요 ㅎ

 

package com.example.demo.Config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
@MapperScan(basePackages = "com.example.demo.Dao")
public class MyBatisConfig {
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception{
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        sqlSessionFactoryBean.setTypeAliasesPackage("com.example.demo.Dto");
        return sqlSessionFactoryBean.getObject();
    }
    @Bean
    public SqlSessionTemplate sqlSession(SqlSessionFactory sqlSessionFactory){
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

 

 

4. Dao패키지에 Mapper 하나를 만들어주는것 (지금은 비어있는 형태로만 만들고 마치겠습니다..)

 

 

 

위 과정들을 마치고 DemoApplication을 실행하시면..

 

서버가 실행됩니다 !!

이제 아무 브라우저나 키시고 localhost:8080을 입력하시면..

 

이렇게 html이 출력 될 것입니다.

 

다음 포스팅에서는 이 html에 css와 js를 적용하고 타임리프를 적용해보는 작업을 진행하겠습니다.