해당 기간 동안은 Spring을 배우기 이전에 MyBatis에 이어서 Quartz의 개념을 배우고 스프링을 설치하는 과정을 거쳤다. 이제는 국비 과정도 종반을 향해 가는 느낌이다. 인강을 추가적으로 수강하며 이해도를 높이고 경쟁력을 끌어 올려야겠다.
---
* Quartz Job Scheduler 구현에 알고 있어야 할 용어 및 개념 *
1. Job : 수행시켜야 할 일 (Task)
2. JobDetail : Job에 대한 상세정보
- Identity : Job Name, Job Group
- Job에 전달할 데이터 설정
3. Trigger : JobDetail 스케쥴링 정보 (언제, 어떻게)
- Identity : Name, Group설정
- JobDetail을 언제 시작시킬 것인가?
- 실행주기 ( 반복적 or 1회성 ) 설정
4. Scheduler
- Scheduling된 Job을 실제 수행시키는 서버 프로그램
- Trigger(스케쥴링)을 등록하고
- JobDeatil(실제 수행시킬 Job)을 등록하고
- Trigger대로 JobDetail을 수행시킬 책임
5. Listener (3가지 종류)
- Scheduler 자체의 Event Listening
- Job Event Listening
- Trigger Event Listenning
---
* How to install Spring MVC plugin on the Eclipse Enterprise 2022-06
Step 1. Install Lombok Agent using "https://projectlombok.org/p2"
Step 2. Setting Global Preferences : Windows > Preferences
2022년 스프링 설치 사이트에서 드래그로 안 될때!
Step 3. Install `Atlassian Connector` plugin using "http://update.atlassian.com/atlassian-eclipse-plugin/rest/e3.7"
-> 롬복처럼 하면 된다. trust 설정 뜨면 unsigned까지 다 신뢰한다고 체크한다
-> 설치 후 restart시 오류창나도 괜찮다, restart후 다시 atlassian 지워준다 (헬프탭에서 진입)
- Again remove `Atlassian Connector` plugin (***)
+ Mylyn Task List (3.25.2.v20200814-0512)
+ Mylyn Commons - 3.25.2.v20200813-0821
+ Mylyn Commons Connector: Discovery - 3.25.2.v20200813-0821
+ Mylyn Commons Connector: Monitor - 3.25.2.v20200813-0821
+ Mylyn Commons Identity - 1.17.2.v20200813-0821
+ Mylyn Commons Notifications - 1.17.2.v20200813-0821
+ Mylyn Commons Respositories - 1.17.2.v20200813-0821
Step 4. Install Spring Tool 3 Standalone Plugin
After that, search spring in the eclipse market client (**)
Step 5. Eclipse Marketplace client => Update Spring Tool 3 Add On Update
---
* Spring MVC Project 생성 및 설정 순서 *
1. New Project > Spring > Spring Legacy Project 선택
- Template : Spring MVC Project 선택
- Project 이름 입력
- Top-level package 입력 : org.zerock.myapp (배우시는 동안은 이것으로 통일합니다.)
- 새로운 Maven 기반의 Spring MVC Project 생성됨
2. Spring MVC Project 생성 후, 설정 순서
(1) Maven Pom.xml 파일 편집
- 특히, 스프링 기반 개발을 위해 추가된 아래 2개의 dependencies에 대해 숙지할것
1. AspectJ : 클래스파일의 바이트 코드 조작 언어
2. Spring : 스프링MVC 개발을 위한 최소한의 2개 sub framework 의존성 설정:
spring-context, spring-webmvc
(2) Update Maven Project 수행
(3) Maven 의 기본 4개(2개는 main, 2개는 test) 소스폴더 구성확인
(4) lombok의 @Log4j2 가 사용하는 log4j2 로그 라이브러리의 설정파일 생성(log4j2.xml)
- src/main/resources/ 폴더에만 저장
- src/test/resources/ 폴더에는 저장안함(main쪽 로그설정파일이 대신 적용됨)
(5) src/main/webapp/WEB-INF/web.xml 설정파일 설정
- 특히 기본 2.5 버전의 top-level tag를, version 4.0 이상으로 변경해줘야 함 아래 태그로 변경
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID"
version="4.0">
(6) src/main/webapp/WEB-INF/spring/root-context.xml
src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml
위 2개 파일이 스프링의 설정파일임 (당장 설정할 것은 없음)
3. 위 2까지 마친후에, 마지막으로, Update Maven Project 수행(with force option)
- 오류(x배지)가 모두 사라졌는지 확인할 것!
4. 프로젝트 설정: Servlet/JSP할 때 배운것처럼, Apache Tomcat9 에 배포될 수 있게 설정할 것!
5. 마지막 확인으로, 이 프로젝트를 Run As > Run On Server 수행하여,
Hello World 가 웹브라우저에 나타나는지 확인
---
톰캣 서버 만드는법
localhost - pc이름으로 변경
디렉토리 - c\app\scoop\apps\tomcat9\current
jre - temurin 11
아래 두개 체크후 세이브 기회는 한번 뿐!!!!
use tomcat installation
publish module context
---
설정파일들
1) log4j2.xml
- 이 로그 설정 파일에서 핵심은 개발자가 로그를 보고 싶은 라이브러리의 패키지를 지정해 새로운 logger를 등록하는 것
ex) <Logger name="org.springframework" level="info" />
스프링 프레임워크에서 남기는 info 레벨의 로그를 보자!
2) web.xml (Servlet, listener)
- Spring Container를 생성하는 Listener가 자동등록 (설정파일 : root-context.xml 사용됨)
- Front Controller 패턴으로 구현된 DispatcherServlet 등록되어있음 (설정파일 : servlet-context.xml)
3) pom.xml (주로 dependency)
- 핵심 : 스프링 등을 비롯한 반드시 필요한 라이브러리에 대한 의존성 설정 (dependency)
- 스프링 기반으로 웹 어플리케이션 생성시 반드시 필요한 2가지 라이브러리
1) spring-context (Spring Container 생성에 필요)
2) spring-webmvc (Spring MVC 패턴을 강제하는데 필요)
4) 스프링 MVC의 설정파일 -> web.xml에 이미 등록
- 가. Spring Container 생성 역할하는 ContextLoaderListener의 설정파일 -> root-context.xml
- 나. Spring MVC를 강제하고 Front Controller 역할을 수행하는 DispatcherServlet의 설정파일 -> servlet-context.xml
6) mybatis-config.xml (MyBatis)
* WAR vs JAR
WAR : Web Archieve -> xxx.war
JAR : Java Archieve -> xxx.jar
'국비학원' 카테고리의 다른 글
[국비지원] KH 정보교육원 96일차 (0) | 2022.08.12 |
---|---|
[국비지원] KH 정보교육원 95일차 (0) | 2022.08.11 |
[국비지원] KH 정보교육원 91일차 (0) | 2022.08.11 |
[국비지원] KH 정보교육원 89-90일차 (MyBatis, 마이바티스) (0) | 2022.08.04 |
[국비지원] KH 정보교육원 88일차 (0) | 2022.08.02 |