Spring Boot 시작하기 

- #9. Srping Boot JSP ModelAndView 설정하기



8장에 이어 ModelAndView 를 이용해 jstl로 데이터를 연동하는 진행해 보겠습니다.



ModelAndViewTestController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.example.controller;
 
import java.util.ArrayList;
import java.util.List;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
public class ModelAndViewTestController {
   
    @RequestMapping(value="/mv")                // http://localhost/mv
    public ModelAndView root() {
        ModelAndView mv = new ModelAndView();
         
        List<string> listTest = new ArrayList<string>();
         
        listTest.add("test1");
        listTest.add("test2");
        listTest.add("test3");
         
        mv.addObject("listTest",listTest);      // jstl로 호출
        mv.addObject("ObjectTest","테스트입니다."); // jstl로 호출
        mv.setViewName("mv/testMv");         // 실제 호출될 /WEB-INF/jsp/model/testMv.jsp
        return mv;                                     
    }
}
</string></string>

** 맨 마지막줄에 </string></string> 은 무시하셔요 **


/WEB-INF/jsp/mv/testMv.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
 
ModelAndView 테스트 페이지입니다.
 
<br>
 
${ObjectTest}
 
<br>
 
${listTest}
 
<br>
<br>
 
<c:foreach items="${listTest}" var="listTest">
    ${listTest} <br>
</c:foreach>


로 작성하신 후

http://localhost/mv 를 호출하시면 됩니다.



출처: http://jsijsi99.tistory.com/11?category=710810 [삽질대마왕 이대장]

 

Spring Boot 시작하기 

- #8. Srping Boot JSP view 설정하기



이번 장은 JSP 파일들을 연결 할 수 있는 방법을 알아 보겠습니다. viewer 의 연결은 여러가지 방법( thymeleaf, velocity 등등 )이 있으나 사용해 보지 않은 관계로 JSP viewer 로 연결토록 하겠습니다.


 


spring-boot-starter-web 에 포함된 tomcat 은 JSP 엔진을 포함하고 있지 않습니다.


pom.xml 에 아래 내용 추가. 

1
2
3
4
5
6
7
8
9
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
 
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

위와 같이 jasper 와 jstl 을 의존성에 포함시켜줘야 JSP파일의 구동이 가능합니다.


application.properties 에 아래 내용 추가. 

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


jsp 파일은 Springboot 의 templates 폴더안에서 작동하지 않습니다.

/webapp/WEB-INF/jsp 폴더를 만든 다음 jsp 파일들을 넣어야됩니다.

그럼 이제 controller 와 jsp 파일을 설정해 보겠습니다.


JspViewTestController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package com.example.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
public class JspViewTestController {
     
    @RequestMapping(value="/")      // localhost
    public String root() {
        return "viewtest";          // 실제 호출될 /WEB-INF/jsp/viewtest.jsp       
    }
     
    @RequestMapping(value="/test"// localhost/test
    public String test() {
        return "test/test2";        // 실제 호출될 /WEB-INF/jsp/test/viewtest2.jsp       
    }
 
}


/WEB-INF/jsp/viewtest.jsp

/WEB-INF/jsp/test/test2.jsp

위 파일들에 내용은 임의로 작성해주시면 됩니다.




위와 같이 설정해 주시면 됩니다.

http://localhost

http://localhost/test


를 하시면 jsp 파일들이 열리는 것을 확인하실수 있습니다.




다음으로 ModelAndView 설정을 알아보겠습니다.


 



출처: http://jsijsi99.tistory.com/10?category=710810 [삽질대마왕 이대장]

 

Spring Boot 시작하기

- #7. Mybatis Multi DataSource 운용


이번장에서는 Spring boot로 mybatis 연동시 2개 이상의 DataSource를 연동하는 방법을 살펴 보도록 하겠습니다. 앞장의 설정과 곂치는 부분이 있으니 참고부탁드려요.



pom.xml 에 아래 내용 추가. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
     
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>1.3.2</version>
</dependency>
 
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.3.0</version>
</dependency>
 
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.3</version>
</dependency>

# dependency 추가 후 이클립스에서 alt + F5를 실행하면 자동으로 jar파일들을 추가합니다.  ( 프로젝트 우클릭 -> maven -> Update Project.. )




application.properties내에 아래 내용 추가
두개의 db계정에 대한  정보 설정

1
2
3
4
5
6
7
8
9
10
11
# DB1
spring.db1.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.db1.datasource.url=jdbc:mariadb://localhost1:3306/test1
spring.db1.datasource.username=test
spring.db1.datasource.password=test
 
# DB2
spring.db2.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.db2.datasource.url=jdbc:mariadb://localhost2:3306/test2
spring.db2.datasource.username=test
spring.db2.datasource.password=test


아래와 같이 DataBaseConfig 파일을 두개로 생성합니다.

Database1Config.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example;
 
import javax.sql.DataSource;
 
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.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.transaction.annotation.EnableTransactionManagement;
 
@Configuration
@MapperScan(value="com.example.dao1", sqlSessionFactoryRef="db1SqlSessionFactory")
@EnableTransactionManagement
public class Db1DatabaseConfig {
 
    @Bean(name = "db1DataSource")
    @Primary
    @ConfigurationProperties(prefix = "spring.db1.datasource")
    public DataSource db1DataSource() {
        return DataSourceBuilder.create().build();
    }
 
    @Bean(name = "db1SqlSessionFactory")
    @Primary
    public SqlSessionFactory db1SqlSessionFactory(@Qualifier("db1DataSource") DataSource db1DataSource, ApplicationContext applicationContext) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(db1DataSource);
        sqlSessionFactoryBean.setMapperLocations(applicationContext.getResources("classpath:com/example/dao1/*.xml"));
        return sqlSessionFactoryBean.getObject();
    }
 
    @Bean(name = "db1SqlSessionTemplate")
    @Primary
    public SqlSessionTemplate db1SqlSessionTemplate(SqlSessionFactory db1SqlSessionFactory) throws Exception {
 
        return new SqlSessionTemplate(db1SqlSessionFactory);
    }
}



Database2Config.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.example;
 
import javax.sql.DataSource;
 
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.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
 
@Configuration
@MapperScan(value="com.example.dao2", sqlSessionFactoryRef="db2SqlSessionFactory")
@EnableTransactionManagement
public class Db2DatabaseConfig {
 
    @Bean(name = "db2DataSource")
    @ConfigurationProperties(prefix = "spring.db2.datasource")
 
    public DataSource db2DataSource() {
        return DataSourceBuilder.create().build();
    }
 
    @Bean(name = "db2SqlSessionFactory")
    public SqlSessionFactory db2SqlSessionFactory(@Qualifier("db2DataSource") DataSource db2DataSource, ApplicationContext applicationContext) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(db2DataSource);
        sqlSessionFactoryBean.setMapperLocations(applicationContext.getResources("classpath:com/example/dao2/*.xml"));
        return sqlSessionFactoryBean.getObject();
    }
 
    @Bean(name = "db2SqlSessionTemplate")
    public SqlSessionTemplate db2SqlSessionTemplate(SqlSessionFactory db2SqlSessionFactory) throws Exception {
 
        return new SqlSessionTemplate(db2SqlSessionFactory);
    }
}



DbController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.example.controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.example.service.DbService;
 
@RestController
public class DbController {
    @Autowired
    DbService dbService;
     
    @RequestMapping("/")
    public @ResponseBody String root_test() throws Exception{  
        return "Hello World";
    }
 
    @RequestMapping("/db1")
    public @ResponseBody String db1() throws Exception{
        return dbService.getDb1Dual();
    }
     
    @RequestMapping("/db2")
    public @ResponseBody String db2() throws Exception{
        return dbService.getDb2Dual();
    }
}



DbService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.example.service;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.example.dao1.Db1Mapper;
import com.example.dao2.Db2Mapper;
 
@Service
public class DbService {
 
    @Autowired
    Db1Mapper db1Mapper;
    @Autowired
    Db2Mapper db2Mapper;
 
    /* select dual */
    public String getDb1Dual() throws Exception{
        return db1Mapper.getDb1Dual();
    }
 
    /* select dual */
    public String getDb2Dual() throws Exception{
        return db2Mapper.getDb2Dual();
    }
 
}


Db1Mapper.java

1
2
3
4
5
package com.example.dao1;
 
public interface Db1Mapper {
        public String getDb1Dual() throws Exception;
}


Db2Mapper.java

1
2
3
4
5
package com.example.dao2;
 
public interface Db2Mapper {
    public String getDb2Dual() throws Exception;
}


Db1.xml

src/main/resources/com/exmaple/dao1/Db1.xml 로 생성

1
2
3
4
5
6
7
8
9
<!--?xml version="1.0" encoding="UTF-8"?-->
 
<mapper namespace="com.example.dao1.Db1Mapper">
 
    <select id="getDb1Dual" resulttype="java.lang.String">
        SELECT 'DB1' FROM DUAL
    </select>
 
</mapper>



Db2.xml

src/main/resources/com/exmaple/dao2/Db2.xml 로 생성

1
2
3
4
5
6
7
8
9
<!--?xml version="1.0" encoding="UTF-8"?-->
 
<mapper namespace="com.example.dao2.Db2Mapper">
 
    <select id="getDb2Dual" resulttype="java.lang.String">
        SELECT 'DB2' FROM DUAL
    </select>
 
</mapper>



여기 까지 진행하시면 두개의 Database로 연결되는 것을 보실 수 있으실껍니다.


해당 이클립스의 폴더 구조는 아래를 참고 하세요.




demo_muliDataSource.zip


위의 zip 파일을 풀어서 #5-2 이클립스 셋팅과 동일하게 진행하시면 바로 MultiDataSource 가 적용되는것을 확인하실 수 있으십니다.


솔라라스나 리눅스 같은 서버에도 그대로 풀어서 maven 만 실행하시면 동일한 웹프로젝트를 확인하실 수 있습니다.



출처: http://jsijsi99.tistory.com/9?category=710810 [삽질대마왕 이대장]

 

Spring Boot 시작하기

- #6. MariaDb + Mybatis 연동


이번장에서는 Database 연동에 대해 진행하겠습니다.

mariaDB는 미리 설치가 되어져 있어야됩니다.



pom.xml 에 아래 내용 추가. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
     
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>1.3.2</version>
</dependency>
 
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.3.0</version>
</dependency>
 
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.3</version>
</dependency>

# dependency 추가 후 이클립스에서 alt + F5를 실행하면 자동으로 jar파일들을 추가합니다.  ( 프로젝트 우클릭 -> maven -> Update Project.. )


application.properties내에 아래 내용 추가
db계정 / id , pw는 설치하신 MariaDB 정보 입력

1
2
3
4
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/test
spring.datasource.username=test
spring.datasource.password=test


DatabaseConfig.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<p>package com.example;
 
import javax.sql.DataSource;
 
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 org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.transaction.annotation.EnableTransactionManagement;
 
@Configuration
@MapperScan(basePackages="com.example.dao")
@EnableTransactionManagement
public class DatabaseConfig {
 
    @Bean
    public  SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sessionFactory.setMapperLocations(resolver.getResources("classpath:com/example/dao/*.xml"));
        return sessionFactory.getObject();
    }
    
    @Bean
    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) throws Exception {
      final SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory);
      return sqlSessionTemplate;
    }
 
}
</p>


DbController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.example.controller;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.example.service.DbService;
 
@RestController
public class DbController {
    @Autowired
    DbService dbService;
     
    @RequestMapping("/")
    public @ResponseBody String root_test() throws Exception{  
        return "Hello World";
    }
 
    @RequestMapping("/now")
    public @ResponseBody String now() throws Exception{
        return dbService.getDual();
    }
}

 


DbService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.example.service;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import com.example.dao.DbMapper;
 
@Service
public class DbService {
 
    @Autowired
    DbMapper dbMapper;
 
    /* select dual */
    public String getDual() throws Exception{
        return dbMapper.getDual();
    }
 
}

 


DbMapper.java

1
2
3
4
5
6
package com.example.dao;
 
public interface DbMapper {
    /* DB Select  */
    public String getDual() throws Exception;
}

 


Db.xml

src/main/resources/com/exmaple/dao/Db.xml 로 생성

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.DbMapper">
 
    <!-- /* select dual */ -->
    <select id="getDual" resultType="java.lang.String">
        SELECT NOW() FROM DUAL
    </select>
 
</mapper>


결과화면


http://localhost/now

현재 시각이 출력되는 것을 볼 수 있습니다.



총 수정 / 추가파일은 아래그림과 같습니다.


 


# maraiDB 의 설치 및 연동은 따로 블로깅하도록 하겠습니다.



출처: http://jsijsi99.tistory.com/8?category=710810 [삽질대마왕 이대장]

Spring Boot 시작하기 

- #5_3. Spring Boot 웹 페이지 설정


앞서 Whitelabel Error Page 를 띄우기 까지 살펴보았습니다. 이제 정상적인 페이지 호출을 진행하도록 하겠습니다.



  Spring Boot Port 설정


기본적으로 설정된 8080 포트를 80포트로 변환하겠습니다.

( http://localhost:8080 -> http://localhost )




application.properties 파일에 아래 구문을 추가 해 주시면 됩니다.

1
server.port=80


  Spring Boot 페이지 출력


Whitelabel Error page 가 아닌 Text를 출력 하는 페이지를 작성토록 하겠습니다.



HelloWorld.java 파일을 생성해 주세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.example;
 
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
@RestController
public class HelloWorld {
    @RequestMapping("/")
    public @ResponseBody String root_test() throws Exception{
        return "Hello World";
    }
 
    @RequestMapping("/demo")
    public @ResponseBody String demo_test() throws Exception{
        return "데모 페이지에 접속 하셨습니다.";
    }
}

위 HelloWorld.java 파일을 생성 후 


여기 까지 생성이 완료되시면 

아래와 같은 페이지들을 보실 수 있습니다.



앞서 말씀드린대로 localhost는 각 서버에 맞는 ip를 적어 주시면됩니다.~



  Spring Boot 재가동


Spring-boot를 재가동 해주시면 됩니다. 

혹, 기존 Spring-boot 모듈이 떠 있는 상태라면


Windows 작업 관리자 에서 javaw.exe 의 프로세스 끝내기를 하신 후

프로젝트 우클릭(demo) -> Run As -> Java Application 를 진행하세요.


아니면 아래 그림처럼 로그창에서 빨간 버튼을 클릭하신 후 재가동 하셔도 됩니다.





출처: http://jsijsi99.tistory.com/7?category=710810 [삽질대마왕 이대장]

Spring Boot 시작하기 

- #5_2. Eclipse Srping Boot 웹프로젝트 

생성 / 가동



이번 장에서는 #3. 에서 진행 하였던 centOS에 Spring boot 웹프로젝트 생성을 동일하게 Eclipse 에서 같은 방식으로 진행해 보도록 하겠습니다.


( 이 방식은 프로젝트를 import 시키는 방식입니다. 이클립스에서 new project 생성방식과는 다른 방식이니 참고 부탁드려요.)




  Spring Boot 웹 프로젝트 생성하기 (#3 과 중복내용)


우선 아래 사이트에 접속해 정보를 입력하고 demo.zip 파일을 다운받겠습니다.

http://start.spring.io



* 주의 : search for dependencies 아래 inputbox에 WEB을 필히 입력하셔야 됩니다~~~~


Generate ProJect 버튼을 클릭하게되면 demo.zip 파일을 다운받수 있습니다.


압축을 해제 하면 아래와 같이 deom 폴더내에 5개의 파일/폴더가 생성됨을 볼 수 있습니다.



이제 이클립스로 돌아가서 위 demo 폴더를 import 해주도록 하겠습니다.



Existing Maven Projects 를 선택합니다.



demo.zip 을 해제한 demo 폴더를 선택 후 Finish




아래와 같이 Maven Project 생성




  Spring Boot 웹 프로젝트 가동하기 (Embeded Tomcat 실행)


이클립스에서 톰캣 가동은 간단합니다. ^^ 

프로젝트 우클릭(demo) -> Run As -> Java Application 



DemoApplication - com.example 클래스 선택


아래와 같이 Embeded Tomcat 이 가동되어진 것을 볼 수 있습니다.



  Spring Boot 웹 페이지 실행

웹 브라우져에 http://localhost:8080 입력합니다.



아래와 같이 Whitlabel Error Page 가 뜬다면 셋팅이 완료된 것입니다.


페이지 설정은 #4의 내용을 그대로 답습하시면 됩니다. ~ ~



출처: http://jsijsi99.tistory.com/6?category=710810 [삽질대마왕 이대장]

Spring Boot 시작하기 

- #5_1. 이클립스 설치



이번 챕터 5에서는 이클립스에 Spring-boot 프로젝트를 생성 시키는 방법에 대해 알아보도록 하겠습니다.


이클립스 설치 부터 진행하겠습니다.

이클립스는 neon 으로 설치하도록 하겠습니다.




http://www.eclipse.org/ 에서 다운로드 진행





다운로드 완료 후 eclipse-inst-win64.exe 파일이 생성 되었습니다.

이번 버젼에서는 installer를 지원해주네요.. 

OS 버젼도 알아서 판단해주고 이클립스 설치가 한결 간편해졌네요.



위 그림처럼 Eclipse IDE for Java Developers 를 선택하시고 install을 진행합니다.

설치가 완료되면 아래와 같이 LAUNCH 를 실행할 것인가를 뭍네요 클릭해주세요~




eclipse Neon 의 설치가 완료되었습니다.

오랜만에 다시 설치하는 이클립스지만 엄청 쉬워졌네요...

기본적으로 maven, gradle 등을 지원해주고 있어 원하는 플러그인만 따로 설치해주시면 될것 같습니다.


다음은 장으로는 - #3. Spring Boot 웹 프로젝트 생성

을 이클립스에서 진행하도록 하겠습니다.



출처: http://jsijsi99.tistory.com/5?category=710810 [삽질대마왕 이대장]

Spring Boot 시작하기 


- #4. MariaDB + Mybatis 연동




이번 장에서는 DataBase 연결에 대해 알아보도록 하겠습니다.


mariaDb로 진행하였습니다. 


기본적으로 DB의 준비는 되어 있으셔야됩니다.~






  mariaDB + Mybatis 연동




이전장의 demo 프로젝트의 연속으로 진행하겠습니다.


아래의 파일들을 추가해 주시면됩니다.






DatabaseConfig.java



import javax.sql.DataSource;

 

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 org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import org.springframework.transaction.annotation.EnableTransactionManagement;

 

@Configuration

@MapperScan(basePackages="com.example.dao")

@EnableTransactionManagement

public class DatabaseConfig {

 

    @Bean

    public  SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {

        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();

        sessionFactory.setDataSource(dataSource);

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

        sessionFactory.setMapperLocations(resolver.getResources("classpath:com/example/dao/*.xml"));

        return sessionFactory.getObject();

    }

     

    @Bean

    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) throws Exception {

      final SqlSessionTemplate sqlSessionTemplate = new SqlSessionTemplate(sqlSessionFactory);

      return sqlSessionTemplate;

    }

 

}



출처: http://jsijsi99.tistory.com/4?category=710810 [삽질대마왕 이대장] 이대장]

Spring Boot 시작하기

- #3. Spring Boot 웹 프로젝트 생성



JDK 와 MAVEN 의 설정이 완료된 후 Embeded Tomcat 을 이용하여 서버 가동을 해보도록 하겠습니다.



  Spring Boot 웹 프로젝트 생성하기


우선 아래 사이트에 접속해 정보를 입력하고 demo.zip 파일을 다운받겠습니다.

http://start.spring.io



Generate ProJect 버튼을 클릭하게되면 demo.zip 파일을 다운받수 있습니다.


압축을 해제 하면 아래와 같이 5개의 파일/폴더가 생성됨을 볼수있습니다.



위 파일들을 앞서 셋팅된 서버에 업로드 해주세요.


# mkdir /home

# cd /home

# mkdir demo

# cd demo


임의로 /home/demo 를 생성 하였습니다. demo 폴더에 압축해제 된 파일들을 업로드 한 후 


# mvn spring-boot:run



위와 같이 Embeded Tomcat 이 실행 되어진것을 볼수 있습니다.



  Spring Boot 웹 페이지 실행


웹 브라우져에 http://192.169.1.10:8080 입력합니다.

(서버의 ip를 입력합니다. 포트는 기본 8080으로 셋팅되어져 있어서 

http://서버의IP:8080 과 같은 형식으로 입력합니다. 포트는 방화벽 오픈 확인요)



아래와 같이 Whitlabel Error Page 가 뜬다면 셋팅이 완료된 것입니다.

(localhost 는 ip노출때문에 임의로 작성하였으니 본인 서버IP를 입력하시면 됩니다.)

Error 가 아닌 실 페이지는 다음 장에서 다시 살펴보겠습니다.



출처: http://jsijsi99.tistory.com/3?category=710810 [삽질대마왕 이대장]

출처: http://jsijsi99.tistory.com/3?category=710810 [삽질대마왕 이대장]

Spring Boot 시작하기

- #2. MAVEN 설치



Spring Boot 의 설치를 위해 MAVEN을 설치하도록 하겠습니다.

Maven 3.3을 설치하기 위해선 JDK7 이상이 설치되어 있어야합니다.





  MAVEN 다운로드


# cd /usr/local



https://maven.apache.org/download.cgi 에서 최근에 업데이트 된 파일을 살펴보자.





  심볼릭 링크 생성


# ln -s apache-maven-3.3.9 maven



  환경 변수 설정


이제 vi 에디터를 열어 /etc/profile의 내용을 수정합니다.

# vi /etc/profile


아래 내용 추가

export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}


# source /etc/profile



# mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: /usr/local/maven
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /usr/local/jdk1.8.0_91/jre
Default locale: ko_KR, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.el6.x86_64", arch: "amd64", family: "unix"



MAVEN 의 설치가 완료되었습니다.



출처: http://jsijsi99.tistory.com/2?category=710810 [삽질대마왕 이대장]

+ Recent posts