![[Spring] 스프링 (Spring) 프로젝트 설정 게시판 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdLPM8S%2FbtsHOBxk4E0%2FKLjUHJlZ6dHyJ6lAsMvRPK%2Fimg.png)
자바(JDK), 이클립스(eclipse), 톰캣(Tomcat), STS(Spring Tool Suite) 설치 및 환경설정
게시글 에서 이어지는 내용입니다.
1. 스프링 (Spring) 프로젝트 설정
1) pom.xml 파일에서 자바·스프링 프레임워크 버전 변경
▪ java-version : 1.6 ➜ 11
▪ springframework-version : 3.1.1.RELEASE ➜ 5.0.2.RELEASE
2) pom.xml 파일에서 자바 버전 변경
source 속성 : 1.6 ➜ 11 (컴파일하려는 Java 코드가 호환되는 최소 Java 버전을 지정)
target 속성 : 1.6 ➜ 11 (컴파일러가 생성하는 클래스 파일의 버전을 지정)
생성되는 클래스 파일은 해당 버전의 Java 가상 머신(JVM)에서 실행될 수 있어야함
4) pom.xml에 사용할 라이브러리 추가
📗 Lombok
자동으로 getter, setter, toString, equals & hashCode, 생성자 코드 등을 생성하여
개발자의 반복적인 코드 작성 작업을 줄이는 자바 생산성 향상 라이브러리
📗 Spring JDBC
JDBC를 쉽고 안전하게 사용할 수 있도록 지원하는 라이브러리
📗 Mybatis
SQL 쿼리를 자바 코드로 매핑하여 데이터베이스 작업을 간편하게 처리하는 자바용 SQL 매퍼 프레임워크
📗 Mybatis-Spring
MyBatis와 Spring 프레임워크를 원활하게 통합하여 데이터베이스 작업을 간편하고 효율적으로 수행할 수 있도록
지원하는 라이브러리
📗 HikariCP
데이터베이스 연결을 미리 준비하고 재사용하여 속도와 효율성을 높여주는 라이브러리
📗 mysql-connector-java
MySQL 데이터베이스와 Java 애플리케이션 간 연결을 가능하게 해주는 JDBC 드라이버 라이브러리
📗 commons-io
다양한 파일 및 디렉토리 작업을 위한 유틸리티 클래스를 제공하는 자바 라이브러리
주요 기능 : 파일 복사, 이동, 삭제 / 디렉토리 생성, 삭제 / 파일 내용 읽기, 쓰기
파일 및 디렉토리 정보 가져오기 / 스트림 처리
📗 commons-fileupload
웹 애플리케이션에서 파일 업로드를 처리하는 데 사용되는 자바 라이브러리
주요 기능 : 다중 파일 업로드 처리 / 파일 크기 제한 / 파일 저장 위치 설정
업로드된 파일 정보 추출 / 파일 유효성 검사
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP --><!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP --><!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.5</version>
</dependency>
4) 메이븐 프로젝트 업데이트 : Project 우클릭 ➜ Maven ➜ Update Project
❓ JDBC (Java Database Connectivity)
DB에 접근할 수 있도록 Java에서 제공하는 API
➜ 모든 Persistence Framework에는 내부적으로 JDBC API를 사용한다.
❓ Mybatis
개발자가 지정한 SQL, 고급 매핑을 지원하는 SQL Mapper- JDBC로 처리하는 상당부분의 코드와 파라미터 설정, 결과 매핑을 지원해준다.
➜ 기존 JDBC를 사용할 때 DB 관련 여러 설정(Connection 생성, Statement 생성 및 쿼리 수행, 결과값(ResultSet) 처리)을 다루어야 했으나, 자바 객체를 실제 SQL 쿼리문에 연결함으로써 빠른 개발과 편리한 테스트를 할 수 있다.
- xml과 Annotation을 사용하여 primitive타입과 Map 인터페이스, 자바 POJO 객체를 설정하여 DB record에 사용할 수 있다.
❓ Persistence
- 프로그램이 종료되더라도 사라지지 않는 데이터의 특성 (영속성)
➜ 어플리케이션을 종료하고 다시 실행하더라도 이전에 저장한 데이터를 다시 불러올 수 있는 기술
❓ Persistence Framework
- 데이터베이스와의 연동되는 시스템을 빠르게 개발하고 안정적인 구동을 보장해주는 프레임워크
'Language > Java' 카테고리의 다른 글
[Spring] STS에서 Tomcat 서버 연결 (1) | 2024.06.11 |
---|---|
[Java] CSV 파일 데이터를 DB에 저장하는 방법 (0) | 2024.06.06 |
[Java] 자바(JDK) 환경 변수 설정 (0) | 2024.05.30 |
[Spring] 🌿 STS 설치 및 스프링 프로젝트 생성 (0) | 2024.05.29 |
페이지 테스트4 (0) | 2024.04.30 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!