우선 java jdk11버전 기준으로 작성했습니당
(Web application / Tomcat / Gradle / JUnit / *jdk 11 )
dependencies {
// 기존
compileOnly('javax.servlet:javax.servlet-api:4.0.1')
testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
// lombok
implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.22'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.22'
testAnnotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.22'
// MySQL
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.27'
// hikariCP
implementation group: 'com.zaxxer', name: 'HikariCP', version: '5.0.0'
// log4j
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.14.1'
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.14.1'
testImplementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.14.1'
// modelmapper
implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.4.4'
// jstl
implementation group: 'javax.servlet', name: 'jstl', version: '1.2'
[Settings] -> [Build, Execution, Deployment] -> [Build Tools] -> [Gradle] ->
1.Build and run using
2.Run test using
(Tomcat Server클릭해보시면 있어욤)
(1) Artifact...->[Gradle:~~~.war(exploded)]추가
(2) 기존[Gradle: ~~~ .war]파일 삭제
(3)Application context: "/"
하단의 경로 "/"로 바꿔주기
(1) VM options: 한글설정
(2) On update action 설정변경
(3) On frame deactivation 설정변경
[src]-[main]-[resources]
[번외1] JAVA_MySQL connection Class를 만들어두자
package packageName;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
public enum ConnectionUtil {
INSTANCE;
private HikariDataSource ds;
ConnectionUtil(){
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:[MySQL 포트번호]/[연결할 MySQL 스키마 이름]");
config.setUsername(""); //등록한 사용자 이름
config.setPassword(""); //등록한 사용자 비밀번호
config.addDataSourceProperty("cachePrepStmts", "true"); //매개변수=true
config.addDataSourceProperty("prepStmtCacheSize", "250"); //명령문의 수
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); //sql문 최대 길이, 권장 설정 2048
ds = new HikariDataSource(config);
}
public Connection getConnection() throws Exception {
return ds.getConnection();
}
}
MySQL에서 권장하는 설정_ 상세 설명
[번외2] Test
Test - new package [dao] - new Class [Test]
@Log4j2
public class TimeTest {
@Test
public void testNow() throws Exception{
@Cleanup Connection connection = ConnectionUtil.INSTANCE.getConnection();
log.info(connection);
Assertions.assertNotNull(connection);
}
}
환경변수는 이전 정리한 내용 확인할것
항상 패키지말고 installer로 설치하자!!
(1) Lombok download
(2) cmd창에 lombok파일이 있는 폴더까지 이동한다.
[cd .. ] 상위 디렉토리 이동
[cd abc] 하위 abc디렉토리 이동
(3) " java -jar lombok.jar " 입력한다.
(4) install 후 eclipse.exe 옆에 lombok아이콘(설치완료)을 확인한다.
eclipse 폴더 - eclipse.ini 파일에 내용 추가(메모장으로 열어서 추가하기)
-vm
[jdks 경로]\bin\javaw.exe
-vmargs
ex)
-vm
C:\Program Files\Java\corretto-11.0.13\bin\javaw.exe
+하는 김에 맨밑에 lombok.jar 잘 설치되었나 확인만!
(1) 안정성을 위해 9.0.55버전 zip 다운-> c드라이브에 경로 설정
- 설정 단위는 workspace 단위이다.(새로운 경로로 workspace설정시 한글셋팅부터 다시해야한다는 뜻 !)
- 전체 설정을 해주자..!
이클립스-window-perferences
workspace - UTF-8 설정(Text file encoding)
web > CSS files -> Encoding (UTF-8)
web > HTML files -> Encoding (UTF-8)
web > JSP files -> Encoding (UTF-8)
(1) 이클립스 실행 - [File] - [New] - [Dynimic Web Project]
(2) - [Target RunTime] - [Apache Tomcat9.0] : tomcat9.0 설치경로 선택
- JRE에 11버전이 없는경우 삭제하고 11버전 경로 선택해주면 된다.
(3) [Dynamic web module version] : 4.0
(4) web.xml 기본 설정 확인하기
(1) 설정할 project 우클릭 - Properties - Java Build Path
lombok 추가하고 apply
(1) window - preferences - General - Web Browser
1.2 dependencies
1.3 intelliJ IDEA 변경 -> 빌드할때는 더 느리지만
우리가 개발할때 변경된 코드를 브라우저 화면에 바로 확인가능하도록 하는 셋팅 (기존에는 Run(Tomcat) or 하단 Rerun으로 눌러야했다.)
1.4 exploded버전은 압축 해제한 디렉토리 형태로,
더 빠른 빌드가 가능하기 때문
(3) 앞으로 만든
1-5
(1) 기본적인 한글설정이 전체 설정되어 있어야 나중에 덜 귀찮다..
(2) JSP 페이지 변경사항이 실시간으로 반영되는 설정
2-1 / 2-2
lombok을 eclipse에 설치하고
lombok을 jdk로 실행하라는 vm option을 하겠다는 뜻이다.
ini파일에 2-2문장이 없다면 jdk가 아닌 jar가 잡혀서 오류가 발생한다.
3-1. log4j
만약 자동으로 최신 버전 jdk때문에 오류가 난다면? preferences 응급조치
1. java - installed JREs
원하는 jre버전 설정
2. java - compiler
원하는 버전 확인(JDK compliance -> level 설정)
3. java build path - Libraries
Classpass - JRE System Library 버전확인
4. Quick Fix 사용~!