[spring] IntelliJ 스프링(maven) #1 개발환경 만들기 (tistory.com)
[spring] IntelliJ 스프링(maven) #1 개발환경 만들기
IntelliJ에서 maven 스프링 프레임워크 개발 환경 셋팅 IDEA는 2023.2.1 버전으로 진행하였습니다. 1. Project 생성하기 위 사진과 같이 (1) 제너레이터에서 Maven 원형을 선택하고 (2) 프로젝트명을 MySpring 이
awesomefrog.tistory.com
#1에서 스프링 개발 환경을 만들었고
#2에서는 DB연결을 해보겠습니다~
1. pom.xml에 의존성 주입을 한다
사용할 DB는 mariaDB이고 설치 방법은 [vue & Spring Boot] 연동하여 게시판 만들기 #1 스프링부트셋팅 feat. mariadb (tistory.com) 여기서 간단하게 설명되어있으니 참조하여 설치하시면 됩니다. 설치시 id와 pass워드는 메모해주세여~
아래 소스를 pom.xml에 의존성 주입을 합니다.
<!--mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!--mybatis-spring-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
<!--spring-jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
하고나서 프로젝트 스트럭처 Ctrl + Alt + Shift + S 버튼을 눌러서 아키팩트로 들어가 라이브러리를 추가해줍니다
위처럼 추가가 되었습니다.
2. #1에서 rootContext.xml을 만들었었는데 이걸 applicationContext.xml 로 변경해주고 아래 소스를 넣어줍니다~
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--추가된 부분-->
<context:component-scan base-package="com.test.sample">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--//추가된 부분-->
</beans>
<context:component-scan base-package="com.test.sample">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
윗부분이 추가가 되었는데,
위 코드는 com.test.sample 이라는 패키지 폴더 하위 controller 어노테이션을 제외한 모든 어노테이션을 스캔하겠다는 뜻입니다. 쉽게말해 @service 나 @Repository 같은 service 파일과 DAO 파일 등을 스캔한다는 뜻 이다.
3. datasourceContext.xml 파일
applicationContext.xml와 같은 경로에 datasourceContext.xml 파일을만들고
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="root1234"/>
</bean>
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- <property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"/> -->
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="SqlSessionFactory"/>
</bean>
</beans>
소스를 기입한다.
<bean id="dataSource" 부분이 있는데 여기 프로퍼티를 통해 DB정보를 기입하여 DB에 접속을 한다.
localhost:3306/test 이부분은 test라는 DB에 접속을 하려고하는데
디비에서 create database test; sql을 입력하여 db를 만들어주면 된다.
<!-- <property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"/> -->
중간에 주석이 된 부분이 있는데, 이건 다음시간에 해볼게요~
4. Junit으로 DB연결 확인하기
db가 연결이 되었는지 확인 하려고하는데 여기에서 junit으로 간편하게 테스트 코드를 만들어 접속을 확인 하면된다.
`JUnit은 자바 프로그래밍 언어 용 유닛 테스트 프레임워크입니다. 테스트 주도 개발 면에서 중요하며, XUnit 이라는 이름의 유닛 테스트 프레임워크 계열의 하나입니다. JUnit은 컴파일 타임에 JAR 로서 링크되며, 반복 가능한 테스트를 작성하는 데 사용됩니다. 개발자가 디버깅 없이 System.out을 사용하여 실행할 수 있는 외부 테스트 프로그램(케이스)을 작성할 수 있습니다. JUnit은 프로그램 테스트에 걸리는 시간을 관리하는 데 도움이 되며 오픈 소스입니다.`
여기에서도 의존성 주입을 해줍니다.
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--spring-test-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
소스를 기입해주고
프로젝트 구조로 들어가
라이브러리를 추가해줍니다.
위 그림과 같은 경로에 DBConnectionTest 클래스를 만들어주고
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.sql.DataSource;
import java.sql.Connection;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/*Context.xml"})
public class DBConnectionTest {
@Autowired
private DataSource ds;
@Test
public void testConnection(){
try(Connection con = ds.getConnection()){
System.out.println(("MariaDB 연결 성공 : " + con));
} catch (Exception e) {
e.printStackTrace();
}
}
}
소스를 기입해준다.
위 그림과 같이 테스트 코드를 실행하면
위 처럼 나오면 성공~!
다음은 기본 mapper설정을 해보도록하겠습니다.
'프레임워크 > 스프링' 카테고리의 다른 글
[에러]Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. (4) | 2023.12.22 |
---|---|
[spring] IntelliJ 스프링 #3 Mapper, mybatis 설정. (15) | 2023.10.13 |
[spring] IntelliJ 스프링(maven) #1 개발환경 만들기 (6) | 2023.10.11 |
Static Resources 매핑 안 (0) | 2023.06.13 |
리다이렉트, 인터셉터 (0) | 2021.03.10 |
댓글