Dev's/Web

스프링부트 입문 - 1 -

rookas89 2023. 10. 15. 20:31
728x90

오랜만에 시간외 근무를 했다.

 

더보기

오늘 완료한 작업 목록

1. 시놀로지 나스에 도커를 이용한 SVN설치 및 환경설정

2. 스프링부트+마리아DB 연동

3. 작업한거 파이어베이스 호스팅에 배포

 

https://ggnote.kr/3

 

시놀로지에서 docker 기반 http-svn 구축하기.

아래 링크에 marvambass/subversion 기반으로 http를 이용한 svn 서버를 구축하는 방법이 설명되어 있음. https://www.synology.com/ko-kr/knowledgebase/DSM/tutorial/Virtualization/How_to_launch_an_SVN_server_based_on_Docker_on_your_Syn

ggnote.kr

참고블로그1 : 시놀로지도커에 svn구축하기

 

 

 

 

https://jobtc.tistory.com/57

 

Spring Boot에서 MVC 초간단 설정

안녕하세요 IT여행자입니다. 이번 수첩에서는 Spring Boot을 사용하는 환경에서 MVC 패턴의 개발환경을 아주 재빠르게 설정해 보는 과정을 적을까 합니다. 물론 기본적으로 웹 개발의 경험이 있어야

jobtc.tistory.com

참고 블로그1 : 스프링부트에 MVC모델 구현하기

 

 

 

1번과 3번은 크게 문제가 없었다.

2번에 마리아DB 연동 과정에서 많은 시행착오가 있었다.

뇌빼고하다보니 mapper과 mappers의 오타를 못찾고 있었다.

빌더에서 오류가 안나다보니 더더욱 찾기 힘들었다.

 

 

반드시 해야하는 내용들만 정리함

먼저 application.properties를 아래와 같이 작성

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://주소:3306/디비명
spring.datasource.username=계정
spring.datasource.password=암호

mybatis.config-location=classpath:mybatis-config.xml

마리아DB에 맡게 작성해야함 mysql이나 다른 DB는 다르게 작성함

 

 

import javax.sql.DataSource;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

@Configuration
@MapperScan(basePackages = "맵퍼패키지")
public class MyBatisConfig {

    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
    	SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
    	sessionFactory.setDataSource(dataSource);
    	sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver()
    	        .getResources("classpath:mappers/*.xml"));
    	Resource configLocation = new ClassPathResource("mybatis-config.xml");
    	sessionFactory.setConfigLocation(configLocation);
		return sessionFactory.getObject();
    }
}

위와같이 MyBatisConfig 클래스를 작성함

여기서 SqlSessionFactoryBean 클래스와 @MapperScan 어노테이션 클래스를 못찾아서 삽질을 많이했다.

 

 

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
	
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>
		
		<dependency>
		  <groupId>org.mybatis</groupId>
		  <artifactId>mybatis</artifactId>
		  <version>3.5.7</version>
		</dependency>
		
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-core</artifactId>
		</dependency>
		
		<dependency>
		    <groupId>org.mybatis.spring.boot</groupId>
		    <artifactId>mybatis-spring-boot-starter</artifactId>
		    <version>2.2.0</version> <!-- 최신 버전을 사용하세요 -->
		</dependency>

pom.xml에 위 항목들을 필수로 넣도록 하자

기본적으로 들어가 있는 항목도 있는데, 없는항목들도 있다.

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <properties>
        <property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
    </properties>

    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

</configuration>

mybatis-config.xml을 src/main/resources 아래 생성하고 위와같이 작성한다.

여기까지하면 마리아DB와 연결끝

 

 

 

파이어베이스호스팅에 배포하는 방법은

 

https://chea-young.tistory.com/1

 

[Firebase] Firebase 호스팅하기

Axure로 만든 html 페이지를 Firebase를 이용해 배포하려고 합니다 순서는 이렇게 됩니다! 설정 과정 1. 다운로드(환경 준비) 2. Firebase 인증 3. Hosting 1. 다운로드(환경준비) 1-1 npm 다운 https://nodejs.org/ko/

chea-young.tistory.com

firebase-win.exe 을 실행하고

 

firebase login으로 구글계정에 로그인 한 뒤

cd 프로젝트루트경로로 이동한다

 

firebase init

명령어를 실행하면

호스팅 : configure files for.... 항목을 스페이스바를 눌러 체크 후 엔터

 

그 다음 질문

- What do you want to use as your public directory? 동적항목이 있는 디렉토리, 스프링부트는 static 경로를 입력한다.
- Configure as a single-page app (rewrite all urls to /index.html)? 기존에 작성된 index.html을 사용할거라 no
- Set up automatic builds and deploys with GitHub? SVN을 사용할꺼라서 NO

 

그리고 사전에 파이어베이스 콘설에서 생성한 프로젝트 목록이 나오고

연결할 프로젝트 선택하면 배포 준비 끝

 

배포 명령어는

 

firebvase deploy

 

 

 

728x90