- EJB(enterprise java bean)를 주 프레임워크로 사용할 때 불편했던 점들을 해소.
- 특징
- 엔터프라이즈 애플리케이션 구축을 위한 솔루션입니다.
- 모듈화되어 있어 필요한 부분만 사용 가능
- 선언적 트랜잭션 관리가 가능
- 완전한 기능을 갖춘 MVC 프레임워크를 제공
- 관점지향 프로그래밍(AOP) 기능을 사용할 수 있음.
- 장점
- 생산성
- 품질보증
- 유지보수
대표사진 삭제
사진 설명을 입력하세요.
https://blog.naver.com/dm951125/221670177560
이미지 썸네일 삭제
15. SpEL (Spring Expression Language)
SpLE(스프링 3.0부터 지원) 1. 객체 그래프를 조회하고 조작하는 기능을 제공한다. 2. Unified EL과 ...
blog.naver.com
셀 전체 선택
- 0열 선택0열 다음에 열 추가
- 1열 선택1열 다음에 열 추가
- 0행 선택0행 다음에 행 추가
- 1행 선택1행 다음에 행 추가
- 2행 선택2행 다음에 행 추가
- 3행 선택3행 다음에 행 추가
- 4행 선택4행 다음에 행 추가
- 5행 선택5행 다음에 행 추가
- 6행 선택6행 다음에 행 추가
- 7행 선택7행 다음에 행 추가
- 8행 선택8행 다음에 행 추가
- 9행 선택9행 다음에 행 추가
- 10행 선택10행 다음에 행 추가
- 11행 선택11행 다음에 행 추가
열 너비 조절
행 높이 조절
spring-beans |
스프링 컨테이너를 이용해서 객체를 생성하는 기본 기능을 제공 |
spring-context |
객체 생성, 라이플사이클 관리, 스키마 확장 등의 기능을 제공 |
spring-aop |
프락시 기반 AOP기능을 제공 |
spring-web |
REST 클라이언트, 데이터 변환 처리, 서블릿 필터, 파일 업로드 지원 등 개발에 필요한 기능을 제공 |
spring-webmvc |
스프링 기반의 웹 MVC 프레임워크. 웹 애플리케이션을 개발하는데 필요한 컨트롤러 구현을 제공 |
spring-websocket |
스프링 mvc에서 웹소켓을 사용하기 위한 기능을 지원 |
spring-oxm |
XML과 자바 객체 간의 매핑을 처리하기 위한 API를 제공합니다. |
spring-tx |
트랜잭션 처리를 위한 추상 레이어를 제공합니다. |
spring-jdbc |
JDBC 프로그래밍을 보다 쉽게 할 수 있는 템플릿을 제공합니다. 이를 이용하면 JDBC프로그래밍에서 반복적으로 입력해야 하는 코드를 줄일 수 있다. |
spring-orm |
하이버네이트, JPA, MyBatis 등과의 연동을 지원합니다. |
spirng-jms |
JMS(자바 메시징 서버) 서버와 메시지를 쉽게 주고받을 수 있도록 템플릿과 어노테이션 등을 제공 |
spring-context-support |
스케줄링, 메일발송, 캐시연동 ,벨로시티 등 부가기능을 제공 |
- 셀 병합
- 행 분할
- 열 분할
- 너비 맞춤
- 삭제
POJO(Plain Old Java Object) 기반의 프레임워크
- 자바 객체의 라이프사이클을 스프링 컨테이너가 직접 관리하며, 스프링 컨테이너로부터 필요한 객체를 얻어올 수 잇음
★DI(Dependency Injection)을 지원
- 각 계층이나 서비스들 사이 또는 객체들 사이에 의존성이 존재할 경우 스프링 프레임워크가 서로를 연결시켜줌 이는 클래스들 사이에 약한 결합을 가능하게 함(의존성↓)
------ 주입 방법 : 생성자, 멤버, 어노테이션, xml
AOP(Aspect Oriented Programming)를 지원
- 트랜잭션, 로깅, 보안 등 여러 모듈에서 공통적으로 지원하는 기능을 분리하여 사용 가능, 확장성 높음
- 스프링 프레임워크의 소스는 모두 라이브러리로 분리시켜 놓음으로써 필요한 라이브러리만 가져다 쓸 수 있다
그리고 많은 외부 라이브러리들도 이미 스프링 프레임워크와 연동되고 있다
- Model2 방식의 MVC Framework를 지원
전체적인 설계가 만들어지고 거기에 대한 관점을 보는 것 : AOP
1. Spring : 스프링 레거시 프로젝트(웹과 상관X)
2. Spring MVC : 웹 프로젝트
- MVC가 사용하는 라이브러리
- Spring project : 실제 작업폴더와 작업 전 테스트폴더가 있음.
테스트 폴더에는 log값, 디버그 값, 단위테스트 등을 수행하는 라이브러리가 필요하다.
--> pom.xml : 라이브러리 명칭, 버전 등을 코딩해서 기입한다.
-> pom.xml을 이용해서 라이브러리 버전관리를 자동으로 해주는 것이 Maven(메이븐)
-> gradle(메이븐의 대체 프로그램)
개발환경 구성(스프링부트 STS 환경설정)
반드시 아래 순서대로 설치할 것!!!
=================================================
JDK : 개발 언어
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java SE 8u251
JDK Download (JDK+JRE)
Server JRE Download (Server용 JRE)
JRE Download (JRE)
Documentation Download (Java SE Development Kit 8u251 API / JavaFX API 문서)
Demos and Samples Download (데모와 샘플)
=================================================
Eclipse IDE Oxygen 3a Packages : 개발 툴
https://www.eclipse.org/downloads/packages/release/oxygen/3a
Eclipse IDE for Java EE Developers
Windows 32-bit 64-bit
=================================================
Spring Tools : 개발 프레임워크
이클립스 [Help] -> [Eclipse Marketplace...]선택 -> Spring으로 검색 ->
Spring Tools 플러그인 설치
(Spring IDE Roo Support 를 찾아 install)
=================================================
Tomcat : 웹 서버
http://tomcat.apache.org/download-90.cgi
Core: zip (pgp, sha512)
=================================================
Oracle 11g XE : 데이터베이스 학습용
https://www.oracle.com/database/technologies/xe-prior-releases.html
Unzip the download and run the DISK1/setup.exe
Oracle Database 11g Release 2 : 데이터베이스 상업용
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g
File 1, File 2 (2GB)
이클립스 옥시젠 실행
- UTF-8 환경설정
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
Location : http://download.eclipse.org/tools/ajdt/47_aj9/dev/update
이미지 썸네일 삭제
Eclipse software repository | The Eclipse Foundation
The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 360 open source projects, including runtimes, tools and frameworks.
download.eclipse.org
전송중...
우측 하단에 설치되는거 꼭 기다릴것
전송중...
기다리고 난 후 Restart 하여 우측 상단에서 Spring 으로 변경할 것
전송중...
프로젝트 추가
전송중...
프로젝트명, Spring MVC 선택하여 Next, 패키지명 설정 하여 완료
전송중...
사진 설명을 입력하세요.
1.실제 작업공간
2.작업전 미리 테스트하는 공간
3.라이브러리폴더
4.maven에 이해 주입이 되는것, pom.xml문서를건드리는 부분(maven dependencies에 오류나면 pom.xml에서나는거라고 알면됨
프로젝트 우클릭
- 최하단 properties
전송중...
1.6 -> 1. 8 수정
전송중...
3.1.1에서 4.3.9로 변경
전송중...
자바 로깅 프레임워크
전송중...
해당 라이브러리가 모두 들어와야 실행 가능(자동주입됨)
전송중...
사진 설명을 입력하세요.
전송중...
디스패처서블릿이 자동생성되어있다.(서블릿 태그(서블릿 네임 태그), 서블릿 매핑 태그 , 이 두 태그는 한 쌍임)
디스팻처 서블릿이 param-name값을 찾아서 값을 보내주는데 전달하는 값은 value 값이다.
(이 작업을 정상적으로 수행하려면 servlet-context.xml 문서에 문제가 있으면 안된다.)
전송중...
사진 설명을 입력하세요.
1
사용자의 Request(요청d)는 Front - Controller인 DispatcherServlet을 통해서 처리한다.
생성된 프로젝트의 web.xml을 보면 아래와 같이
모든 Request를 DispatcherServlet이 받도록 처리하고 있다.
출처 입력
<!--Processes application requests --><servlet><servlet-name>appServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>appServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
2, 3
HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해서 존재한다. HandlerMapping 인터페이스를 구현한 여러 객체들 중
RequestMappingHandlerMapping 같은 경우는
개발자가 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하게 된다.
적절한 컨트롤러가 찾아졌다면 HandlerAdapter를 이용해서 해당 컨트롤러를 동작시킨다.
4
Controller는 개발자가 작성하는 클래스로 실제 Request를 처리하는 로직을 작성하게 된다.
이때 View에 전달해야 하는 데이터는 주로 Model이라는 객체에 담아서 전달한다.
Controller는 다양한 타입의 결과를 반환하는데
이에 대한 처리는 ViewResolver를 이용하게 된다.
5
ViewResolver는 Controller가 반환한 결과를
어떤 View를 통해서 처리하는 것이 좋을지 해석하는 역할이다.
가장 흔하게 사용하는 설정은 servlet-context.xml에 정의된 InternalResourceViewResolver다.
출처 입력
<!--Resolves views selected forrendering by @Controllers to .jsp resources inthe /WEB-INF/views directory --><beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><beans:property name="prefix"value="/WEB-INF/views/"/><beans:property name="suffix"value=".jsp"/></beans:bean>
6, 7
View는 실제로 응답 보내야 하는 데이터를 Jsp 등을 이용해서 생성하는 역할을 하게된다.
만들어진 응답은 DispatcherServlet을 통해서 전송된다.
출처 입력
=================================================================
위의 그림을 보면 모든 Request는 DispatcherServlet을 통하도록 설계되는데,
이런 방식을 Front-Controller 패턴이라고 한다.
Front-Controller 패턴을 이용하면 전체 흐름을 강제로 제한할 수 있다.
예를 들어 HttpServlet을 상속해서 만든 클래스를 이용하는 경우
특정 개발자는 이를 활용할 수 있지만
다른 개발자는 자신이 원래 하던 방식대로 HttpServlet을 그대로 상속해서 개발할 수도 있다.
Front-Controller 패턴을 이용하는 경우에는
모든 Request의 처리에 대한 분배가 정해진 방식대로만 동작할기 때문에
좀 더 엄격한 구조를 만들어 낼 수 있다.
★스프링에서 의존성 주입(DI)과 역주입을(Ioc) 통해서 주입이 진행된다. (서로간에 관계를 알아야 한다.)
- AOP는 프로젝트 구성 설계 시 필요.(운영과는 관계X) - 게시판의 CRUD의 공통점은 DB 접속(DAO로 따로 빼서 작업했었다.) 이것이 관점지향(AOP).
--> 쿼리문을 자바 밖에서 수정할수 있도록 한 프레임워크가 MyBatis이다.
요청사항이 list.jsp 이면 컨트롤러에서 목록 보여주는 컨트롤러, 글 수정, 글 보기 등 여러가지 컨트롤러가 만들어지게된다.
요청이 들어오면 디스팻쳐 서블릿->핸들러매핑(누가 컨트롤러 가졌는지 반환) -> 컨트롤러 (DB서버 접속해서 (JDBC가 놓여짐) DB내용을 가져온다.) -> 어느 파일에 어느 위치 -> 뷰 리졸버에서 무슨파일인지 알려준다. -> 그 결과값을 컴파일해서 브라우저에 띄워준다.
전송중...
사진 설명을 입력하세요.
스프링 프레임워크
1. Dependency Injection 개요
1.1. DI를 사용하지 않는 코드
1.2. DI를 사용한 코드
1) Constructor based dependency injection
2) Setter based dependency injection
2. Spring DI
2.1 XML을 이용한 DI
1) 설정파일 추가
2) 빈 설정
3) 스프링 컨텍스트
4) Constructor based dependency injection
5) Setter based dependency injection
2.2 Annotation을 이용한 DI 이 있다.
전송중...
사진 설명을 입력하세요.
- 인터페이스를 통한 DI/IoC 개념을 알아야 한다.
- DI는 IoC 패턴중 일부분임.(DI에 따라 프로그램의 방향이 완전히 변경될 수 있다.)
전송중...
DI를 사용하지 않는 코드
IHelloService.java : 인터페이스 HelloService.java : sayHello가 재정의되어있다.(@Override 해서 재정의) HelloController.java : 점선박스 내부에 인터페이스를 구현받은 클래스를 객체화 하였음. (데이터타입은 인터페이스 타입) --> 데이터타입에 대한 코드 유연성이 만들어 진다.
전송중...
사진 설명을 입력하세요.
HelloController.java : 점선박스 상단에 인터페이스 선언, 하단에 생성자추가( 매개변수 타입 IHelloService ) -> 컨트롤러 객체가 만들어질 때, HelloService객체가 컨트롤러 생성자를 통해서 컨트롤러 멤버변수로 주입 클래스는 총 4개 - 메인 클래스 - 컨트롤러 - 멤버변수에 구현된 클래스를 넣어주려면~ + 의존성 없이 넣어주려면 ( main 에서 설정해야한다. ) 1. 컨트롤러 객체 생성 2. Service 객체 생성 -> 1.객체.변수 = 2.객체 protected : 상속된 클래스 까지만 사용 가능 default : 안쓰면 기본으로 디폴트 접근제한자 private : 클래스 내부에서만 사용 변수의 범위를 정해주려면 scope 속성에 접근 가능 범위를 기재한다.(page(페이지 내부에서만)>request>session>application) 클래스 접근제한자 범위 : private -> default -> protected -> public - 인터페이스 - 구현된 클래스
1. 인터페이스를 만들어줘야 한다.(IHelloService.java)
- ★인터페이스 파일 내부에는 생성자는 절대 만들 수 없다.(일반 변수선언 할 수 없다.)
+ 클래스 종류
1) 일반 클래스 => 상속(extends 단일), 구현(implements)(일반클래스는 여러가지 인터페이스를 한번에 구현받을 수 있다.)
-> 가질 수 있는 것 : 변수, 상수, 생성자, 메서드
: 상수 선언 방법 : 변수 앞에 final을 붙여서 사용
-> 일반클래스는 자체가 하나의 독립적인 객체로 사용될 수 있다.
-> ★일반클래스가 인터페이스를 구현 받거나 추상클래스를 상속받게 되면 반드시 추상 메서드 재정의를 해주어야 한다.(사용여부에 상관없이 한다.)
2) 인터페이스(interface) 클래스 => 상속(interface 끼리 다중상속 가능 extends),
생성자를 가질 수 없기 때문에 독립적으로 사용할 수 없다.(객체생성불가)
-> 가질 수 있는 것 : static final 상수(예 ) int a = 0; 으로 선언해도 컴파일 하면 public static fianl int a = 0 으로 바뀐다.,
추상메서드(abstract 반환타입 메서드명(매개변수); 형태)
(예 ) public void sum(); 으로 선언해도 컴파일 되면 public abstract void sum(); 으로 변환된다.
--> 인터페이스를 사용하는 이유 : 유연성, 다형성
3) 추상(abstract) 클래스 --> 일반클래스 + 인터페이스
-> 가질 수 있는 것 : 일반변수, 상수, 생성자, 메서드, 추상메서드
-> 추상클래스 : 상속은 가능하지만 독립적으로 객체를 만들 수 없다.(생성자를 가지는 이유는 다른 클래스에 상속되기 때문임)
SPRING 은 어떤 작업을 하려면 항상 인터페이스가 필요하다. 그래서 얘를 구현받은 클래스로 항상 코딩한다.
기본적인 웹 게시물 관리
스프링 MVC와 Mybatis를 이용한
CRUD(등록, 수정, 삭제, 조회)와
페이징 처리
검색기능 의 게시물 관리를 제작.
중요하게 고려해야 할 부분
스프링 MVC를 이용하는 웹 프로젝트 전체 구조에 대한 이해
개발의 각 단계
Presentation(화면 계층 ) : 화면에 보여주는 기술을 사용하는 영역
Servlet/JSP나 스프링 MVC가 담당하는 영역.
프로젝트의 성격에 맞추어 앱으로 제작하거나,
CS(Client - Server)로 구성되는 경우도 있다.
스프링 MVC와 JSP를 이용한 화면 구성이 이에 속한다.
Business(비즈니스 계층) : 순수한 비느니스 로직을 담고 있는 영역
이 영역이 중요한 이유
고객기 원하는 요구사항을 반영하는 계층.
이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 한ㄷ.
이 영역은 주로 xxxService와 같은 이름으로 구성하고,
메서드 이름 역시 고객들이 사용하는 용어를 그대로 사용하는 것이 일반적.
Persistence(영속 또는 데이터 계층) : 데이터를 어떤 방식으로 보관하고, 사용하는가에 대한 설계가 들어가는 계층.
일반적인 경우, 데이터베이스를 많이 이용하지만,
경우에 따라서 네트워크 호출이나 원격 호출 등의 기술이 접목될 수도 있다.
이 영역은 Mybatis와 mybatis-spring을 이용하여 구성.
전송중...
사진 설명을 입력하세요.
Spring MVC : Presentation Tier 를 구성
root-context.xml, servlet-context.xml 등의 설정 파일이 해당 영역의 설정을 담당.
Spring Core : POJO(Plain-Old-Java-Object)의 영역.
스프링의 의존성 주입을 이용해서 객체강의 연관구조를 완성하여 사용
Mybatis : 현실적으로 mybatis-spring을 이용하여 구성하는 영역
SQL에 대한 처리를 담당하는 구조
1. 각 영역의 Naming Convention
프로젝트를 3-tier로 구성하는 이유는
유지보수에 대한 필요성 때문
각 영역은 독립적으로 설계되어
추후 특정 기술이 변하더라도 필요한 부분을 전자제품의 부품처럼
쉽게 교환할 수 있게 하는 방식
각 영역은 설계 당시부터 영역을 구분하고,
해당 연결 부위는 인터페이스를 이용하여 설계하는 것이 일반적
1. 네이밍 규칙
xxxController : 스프링 MVC에서 동작하는 Controller 클래스를 설계할 때 사용.
xxxService, xxxServiceImpl : 비즈니스 영역을 담당하는 인터페이스는 xxxService 방식. 인터페이스를 구현한 클래스는 xxxServiceImpl 이름을 사용.
xxxDAO, xxxRepository : DAO(Data - Access - Object) 나 Repository(저장소) 이름으로
영역을 따로 구성하는 것이 보편적
별도의 DAO를 구성하는 대신, Mybatis의 Mapper인터페이스를 활용.
VO, DTO : VO나 DTO는 일반적으로 유사한 의미로 사용하는 용어.
데이터를 담고 있는 객체를 의미한다는 공통점이 있다.
VO : 주로 ReadOnly 목적이 강하고, 데이터 자체도 immutable(불변)하게 설계하는 것이 정석.
DTO : 주로 데이터 수집의 용도가 좀더 강하다.
예) 웹 화면에서 로그인 하는 정보를 DTO로 처리하는 방식을 사용.
테이블과 관련된 데이터는 VO라는 이름을 사용.
패키지의 구성은 프로젝트의 크기나 구성원들의 성향으로 결정.
규모가 적은 프로젝트 :
Controller 영역을 별도의 패키지로 설계
Service 영역 등을 하나의 패키지로 설계
규모가 큰 프로젝트(네이버에서 카페는 카페끼리, 블로그는 블로그 끼리) : --> 카페든 블로그든 로그인이 필요하니 공통모듈을 따로 빼는 것을 AOP
많은 Service 클래스와 Controller 들이 혼재 할 경우,
비즈니스를 단위 별로 구분하고(즉, 비즈니스 단위 별로 패키지를 작성)
다시 내부에서 Controller 패키지, Service 패키지 등으로 다시 나누는 방식을 이용.
담당자가 명확해지고, 독립적인 설정을 가지는 형태로 개발.
작업 패키지 구성
com.이니셜 : 메인 패키지
com.이니셜.config : 프로젝트와 관련된 설정 클래스들
com.이니셜.controller : 스프링 MVC의 Controller 들
com.이니셜.service : 스프링의 Service 인터페이스와 구현 클래스들
com.이니셜.domain : VO, DTO 클래스들
com.이니셜.persistence : Mybatis Mapper 인터페이스
com.이니셜.exception : 웹 관련 예외처리
com.이니셜.aop : 스프링의 AOP 관련
com.이니셜.security : 스프링의 Security 관련
com.이니셜.util : 각종 유틸리티 클래스 관련
프로젝트를 진행하기 전에
고객의 요구사항을 인식하고, 이를 설계하는 과정이 필요
요구사항 분석 설계 :
고객이 원하는 내용이 무엇이고,
어느 정도까지 구현할 것인가에 대한 프로젝트의 범위를 정하는 것이 목적.
요구사항 :
실제로 방대해 질 수 있으므로 프로젝트에서는 단계를 정확히 구분.
경험이 많은 팀 구성 : 초기버전에 상당히 많은 기능을 포함 시켜서 개발
반대의 경우 : 최대한 단순하고 눈에 보이는 결과를 만들어 내는 형태로 진행.
온전한 문장으로 정리.
주어는 "고객"이고, 목적어는 "대상(domain)"이 된다.
예) 게시판의 경우, 게시물이 대상이 된다.
고객은 새로운 게시물을 등록할 수 있어야 한다.
고객은 특정 게시물을 조회할 수 있어야 한다.
고객은 작성한 게시물으 삭제할 수 있어야 한다.
등.
테이블 : tbl_board
VO클래스 : com.이니셜.domain.BoardVO
게시물과 관련된 로직 : com.이니셜.service.BoardService / com.이니셜.BoardController
요구사항에 따른 화면 설계
예) 고객은 새로운 게시물을 등록할 수 있어야 한다.
세부적인 설계 : '어떤 내용들을 입력하게 될 것인가'
이를 기준으로 테이블이나 클래스의 멤버 변수(인스턴스 변수)들을 설계.
이러한 화면을 설계할 때는 주로 Mock-up(목업) 들을 이용하는 경우가 많다.
대표적인 Mock-up툴 : PPT, Balsqmiq studio, Pencil Mockup 등.
각 화면을 설계하는 단계에서는
사용자가 입력해야 하는 값과 함께
전체 페이지의 흐름을 설계.(유즈케이스 다이어그램)
이 화면의 흐름을 URL로 구성하게 되는데,
이 경우 GET/POST 방식에 대하여 언급한다.
게시물 관리 스토리 보드의 예
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
3. 게시물 관리 프로젝트 구성
스프링 프로젝트 이름 : springboard
스프링 프로젝트 생성 : Spring Legacy Project
프로젝트 생성 후, 진행 순서:
pom.xml의 수정
데이터 베이스 관련 처리
스프링 MVC 처리
Window - preference
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
프로젝트 생성하여 마무리.
전송중...
사진 설명을 입력하세요.
src/main/java : 작성되는 코드의 경로
src/main/resources : 실행할 때 참고하는 기본 경로(주로 설정 파일들이 위치)
src/test/java : 테스트 코드의 경로
src/test/resources : 테스트 관련 설정 파일 보관 경로
JRE System Library : JavaSE - 1.6
servlet-context.xml : 웹과 관련된 스프링 설정 파일
root-context.xmlt : 스프링 설정 파일
views : 템플릿 프로젝트의 JSP파일 경로
web.xml : Tomcat의 web.xml 파일
pom.xml : 라이브러리를 관리하는 Maven이 사용하는 pom.xml
전송중...
변경
스프링 관련 라이브러리 추가
spring-tx : 트랜잭션을 사용하기 위한 라이브러리
spring-jdbc : 데이터베이스와 연동하기 위한 라이브러리
spring-test : 테스트 코드를 단위 테스트하기 위한 라이브러리
전송중...
webmvc 위에 적어야 한다.
Mybatis 관련 라이브러리 추가
HikariCP : 대용량 데이터 처리 속도를 빠르게 하기 위한 라이브러리
MyBatis : 데이터베이스 프레임워크
mybatis-spring : MyBatis 를 사용하기 위한 스프링 라이브러리
Log4jdbc : 데이터베이스 실행 시, 단위 테스트를 위한 라이브러리
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
명령어 입력 후 나오는 창으로 설치한 후 완료
호환성을 위한 버전 맞추기 작업
전송중...
4.7 -> 4.12로 버전 변경
전송중...
lombok 추가
전송중...
버전 변경
전송중...
제일 아래쪽 1.6 -> 1.8로 변경
오류가 뜨는 경우에 아래 쪽 스샷 실행
전송중...
사진 설명을 입력하세요.
전송중...
사진 설명을 입력하세요.
'JAVA' 카테고리의 다른 글
파일 읽어들이기 메소드(FileReaderMethod) (0) | 2020.03.12 |
---|---|
mySQL : data insert method (mysql 데이터 삽입 메소드) (0) | 2020.03.12 |
댓글