SpringBoot/day54 / 23.11.22(수) / (핀테크) Spring 및 Ai 기반 핀테크 프로젝트 구축

허니몬·2023년 11월 23일
0
post-thumbnail

P03_starter


com.web


아래의 dependency 추가 후 class 생성

ConnectionRunner

package com.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Service;

import com.web.jdbc.util.JDBCConnecttionManager;

@Service
public class ConnectionRunner implements ApplicationRunner{

	@Autowired
	private JDBCConnecttionManager connecttionManager;
	
	@Override
	public void run(ApplicationArguments args) throws Exception {
		// TODO Auto-generated method stub
		System.out.println("컨넥션 매니저 : " + connecttionManager.toString());
	}
}

Spring Boot Starters 사용

  • 스타터는 필요한 라이브러리들을 관련된 것띠리 묶어서 마치 팩키지처럼 제공
    따라서 프로젝트에 사용하고 싶은 모듈이 있으면 그 모듈에 해당하는 스타터만
    의존성 추가하면 됨



P04_board-spring-boot-starter


y enter

버전관리 자동화

<dependencyManagement>
	<dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.3.3.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
  </dependencies>
</dependencyManagement>

JDBCConnecttionManager

package com.web.jdbc.util;

import java.sql.Connection;
import java.sql.DriverManager;

public class JDBCConnecttionManager {
	private String driverClass;
	private String url;
	private String username;
	private String password;
	
	public void setDriverClass(String driverClass) {
		this.driverClass = driverClass;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	public Connection getConnection() {
		try {
			Class.forName(driverClass);
			return DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	
	@Override
	public String toString() {
		return "JDBCConnecttionManager [driverClass=" + driverClass + ", url=" + url + ", username=" + username
				+ ", password=" + password + "]";
	}
	
	
}

BoardAutoConfiguration

package com.web.jdbc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.web.jdbc.util.JDBCConnecttionManager;

@Configuration
public class BoardAutoConfiguration {
	@Bean
	public JDBCConnecttionManager getjdbConnecttionManager() {
		JDBCConnecttionManager manager = new JDBCConnecttionManager();
		manager.setDriverClass("oracle.jdbc.OracleDriver");
		manager.setUrl("jdbc:oracle:thin:@localhost:1521:xe");
		manager.setUsername("dbtest");
		manager.setPassword("a1234");
		return manager;
	}
}

해당 프로젝트 내 src/main/ 에 resources 폴더 추가
그 안에 META-INF 폴더 추가


spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.web.jdbc.config.BoardAutoConfiguration

추가 후 properties 확인후 Maven clean > install
target 폴더에 P04_board-spring-boot-starter-0.0.1-SNAPSHOT.jar 생김


P04 pom.xml 에서

	<groupId>com.web</groupId>
	<artifactId>P04_board-spring-boot-starter</artifactId>
	<version>0.0.1-SNAPSHOT</version>

복사 후

P03 pom.xml 에 dependency 로 추가

Maven Dependencies 확인 해 보면 가장 아래에 P04가 추가되어 있는 것을 확인 가능

profile
Fintech

0개의 댓글