• LOMBOK(롬복)이란?


자바에서 사용할 때 클래스 파일의 소스가 길어지고 복잡해지는 것을 좀 더 간단하게 하기 위해 롬복을 사용한다.



  • 설치 방법


이클립스같은 툴에서 사용하기 위해 여기를 클릭해 아래화면이 나오면 Download 1.16.20을 클릭해서 jar파일을 다운받는다.




lombok.jar파일을 실행하면 아래와 같은 화면이 뜨는데 해당 툴을 체크하고 Install/Update를 클릭한다.



인스톨이 성공했다는 영어가 나타나면 Quit Installer를 선택해서 해당 창을 종료한다.




그리고 설치가 제대로 완료되었는지 확인하기 위해서 lombok.jar 파일을 확인해보고 STS.init을 메모장으로 실행시켜 확인해본다.


STS.init에 -javaagent:C:\sts-3.9.2.RELEASE\lombok.jar이 추가되어있는지 확인해본다.

STS.init




pom.xml에 아래 소스 추가

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.16</version>
</dependency>


  • 사용법


val

JavaScript의 var과 같은 의미

var

JavaScript의 var과 같은 의미지만 아직 실험적이여서 disable로 설정되어 있음. 따로 설정이 필요

@NonNull

null이 파라미터로 전달되면 NullPointerException이 나타나게 한다.

@Cleanup

메소드 종료 시 close() 호출

@Getter/@Setter

getter, setter 자동으로 생성

@ToString

toString 자동생성

@EqualsAndHashCode

hashCode및 equals를 생성

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

매개변수가 없는 생성자를 생성하고, 최종 필드 당 하나의 인수 또는 모든 필드에 대해 하나의 인수를 생성합니다.

@Data

getter, setter, toString, hashcode 등을 자동으로 생성해준다.

@Slf4j, @log4j

디버깅을 위해 사용



출처 : https://projectlombok.org/features/all

'Java > Spring' 카테고리의 다른 글

Spring MVC 프로젝트 구조 공부하기  (0) 2018.04.01
SpringMVC CRUD pom.xml에서 dependency 추가를 위한 작업  (0) 2018.03.23
CRUD  (0) 2018.03.08
JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
Posted by 조원오
:
  • Spring MVC 패턴


MVC는 Model-View-Controller의 약자이며 애플리케이션을 세가지 역할로 구분하는 패턴이다. User가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 View에서 사용자에게 전달하게 된다.


출처 : 생활코딩


  1. Model >> 비즈니스 로직과 사용되는 데이터를 다루는 영역 ex) Service, DAO

  2. View >> 최종 사용자에게 보여줄 프리젠테이션 로직 ex) jsp, asp, php

  3. Controller >>> 흐름을 관리, 모델과 뷰의 조정 역할을 함 ex) Controller

출처 : http://addio3305.tistory.com/41



  • MVC 프로젝트 구조 분석



Java 개발소스 (src/main/java)


Controller, Mapper, DTO, Service, DAO...와 같은 모든 자바 소스코드들이 저장되는 곳



Spring 설정 파일 (src/main/webapp/WEB-INF/spring)


servlet-context.xml

  • <annotation-driven /> 

@RequestMapping를 사용할 수 있또록 하고 그 안에 지정된 URL로 브라우저의 요청 URL이 매핑되게 된다.

  • <resources mapping="/res/**" location="/resources/" />
location은 실제 경로이며, mapping는 location의 resources대신 res를 사용하여 경로를 입력할 수 있도록 한다.
  • <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>
위의 InternalResourceViewResolver.class에서 상속 받은 UrlBasedViewResolver.class에 prefix와 suffix에 대한 GetterSetter가 있다.
해당 클레스에 디렉토리 경로(prefix)와 확장자(suffix)가 전달되어 views/에 있는 .jsp파일과 Controller를 이어주는 작업을 한다.

WEB-INF의 특징


외부인 브라우져에서 직접 접근이 불가능하게 되어있다. home.jsp를 실행시키면 404 error가 발생하게 된다. 

그 이유는 주소창에 http://localhost:8080/WEB-INF/views/home.jsp로 연결되는데 바로 WEB-INF로 접근하려고 하면서 error가 발생하게 된다. 


따라서 스프링에서는 직접 접근하지 않고 다른 방법으로 접근 할 수 있도록 한다.

 


최종 정리 진행 순서


1. 클라이언트 요청( /, root 페이지 요청)

2. web.xml에서 dispatcherServlet가 클라이언트 요청을 핸들링

3. servlet-context.xml에서 해당 클래스의 웹요청을 처리하는 컨트롤러를 사용(HandlerMapping으로 Controller를 검색)

4. 해당 Controller가 요청을 처리후, home을 리턴

5. View에 출력

출처 :  http://all-record.tistory.com/165

web.xml



'Java > Spring' 카테고리의 다른 글

Lombok 설치 및 사용법 (Spring Maven)  (0) 2018.04.06
SpringMVC CRUD pom.xml에서 dependency 추가를 위한 작업  (0) 2018.03.23
CRUD  (0) 2018.03.08
JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
Posted by 조원오
:
  • 3rd party ojdbc6


<repositories>

<repository>

<id>mesir-repo</id>

<url>https://maven.atlassian.com/3rdparty</url>

</repository>

</repositories>


오라클용 3rd party ojdbc6.jar을 받기 위해서 위와 같은 소스를 pom.xml 안에 입력한다.



그리고 https://maven.atlassian.com에 접속한 다음 ojdbc6 검색한다.



검색결과 중 다음과 같이 12.1.0.1의 pom파일의 눈깔모양을 클릭한다.



<!-- 3rd party oracle ojdbc -->

<dependency>

<groupId>com.oracle</groupId>

<artifactId>ojdbc6</artifactId>

<version>12.1.0.1-atlassian-hosted</version>

</dependency>


<dependencys> 안에 <dependency>를 하나 만든 다음 위의 빨간 네모 안에 있는 소스를 집어넣고 저장한다.

 Maven Dependencies 안에 ojdbc6-12.1.0.1-atlassian-hosted.jar 파일이 있는지 확인한다.



  • commons-dbcp


이제 http://mavenrepository.com/로 접속해서 commons-dbcp를 검색한다.




<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->

<dependency>

<groupId>commons-dbcp</groupId>

<artifactId>commons-dbcp</artifactId>

<version>1.4</version>

</dependency>


그리고 위의 빨간 박스안에 소스를 선택하면 복사가 된다. 클릭해서 복사한 다음 <dependencies> 안에 추가한다.


  • spring-jdbc


spring-jdbc를 검색한다.



<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>${org.springframework-version}</version>

</dependency>


똑같이 복사한 후 붙여넣은 후 <version>을 자신이 사용하는 버전으로 하기 위해서 

${org.springframework-version}를 추가한다.


  • mybatis-spring


mybatis-spring을 검색한다.



<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis-spring</artifactId>

<version>1.2.2</version>

</dependency>


복사한 후 붙여넣는다.


  • mybatis


mybatis를 검색한다.



<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

<dependency>

<groupId>org.mybatis</groupId>

<artifactId>mybatis</artifactId>

<version>3.4.3</version>

</dependency>


복사한 후 붙여넣는다.

'Java > Spring' 카테고리의 다른 글

Lombok 설치 및 사용법 (Spring Maven)  (0) 2018.04.06
Spring MVC 프로젝트 구조 공부하기  (0) 2018.04.01
CRUD  (0) 2018.03.08
JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
Posted by 조원오
:

CRUD

Java/Spring 2018. 3. 8. 17:12 |

src/main/java에

User 정보에 대한 정보를 위해 user 패키지와 그 안에 controller, dao, dto, maps, service 패키지를 생성한다.


  • DTO 만들기



테이블 TB_USER의 컬럼의 이름과 타입을 보고 UserDTO에 필드와 getter setter를 작성한다.





위는 UserDTO클래스 안에 필드와 getter setter를 만든 결과이다.


  • maps 만들기



maps패키지 안에 MyBatis XML Mapper 형식으로 user.xml을 만든다.

만약 MyBatis XML Mapper가 없다면 Help -> Eclipse Marketplace에서 MyBatis를 입력해서 설치한다.

 


그 안의 소스인데 여기서 mapper의 namespace는 다른 mapper의 namespace와 중복되면 안된다.


parameterType은 집어넣을 데이터에 대한 타입을 적으면 된다. 그리고 resultType은 리턴되어 나타내는 값의 타입을 적어주면 된다.



  • DAO 만들기


먼저 틀을 만들기위해 인터

Posted by 조원오
:
JUnit이란?


테스트 프레임워크로 디버깅으로 하나하나 확인 할 필요 없이 테스트를 진행 할 수 있으며, 테스트에 걸린 시간을 구할 수도 있다. 따라서, JUnit을 사용함으로 인해 최적화된 소스를 유추해낼 수 있는 기능도 제공한다.




Junt 사용법



1. pom.xml의 소스 중 <dependencies></dependencies> 안에 위의 소스를 추가한다.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework-version}</version>
</dependency>



2. root-context.xml 파일로 가서 하단에 Namespaces를 선택한 다음 context를 체크한다.



3. Source로 돌아가 아래의 소스를 추가한 다음 프로젝트명을 수정하면 된다.

 <context:component-scan base-package="kr.co.자신의프로젝트명">
  <context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation" />
 </context:component-scan>

4. src/test/java에서 자신의 패키지에 Junit을 테스트 할 클래스를 만든다.





3. 소스를 JunitTest 클래스 위에 추가한다음 import한다. 그리고 테스트가 필요한 메서드 위에 @Test를 적어서 import한다.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={
"file:src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml",
"file:src/main/webapp/WEB-INF/spring/root-context.xml"})


4. JunitTest의 전체 내용이다.


실행하기 위해서는 Alt + Shift + X 또는 Ctrl + F11을 실행시켜 Junit를 이용하여 테스트한다.


메서드 하나만 실행하려면 해당 메서드의 이름에 선택을 한 상태에서 실행시키면 된다.






JUnit Method 설명


  • assertArrayEquals(a,b) : 배열 a와b가 일치함을 확인 
  • assertEquals(a,b) : 객체 a와b의 값이 같은지 확인 
  • assertFalse(a) : 조건이 거짓인지 확인 
  • assertNotNull(a) : a객체가 null이 아님을 확인 
  • assertNotSame(a,b) : 객체 a와 b가 동일한 객체를 참조하지 않음을 확인 
  • assertNull(a) : 객체가 null임을 확인
  • assertSame(a,b) : 객체 a와b가 같은 객체임을 확인 
  • assertTrue(a) : a가 참인지 확인 
  • fail() : 테스트를 실패함



'Java > Spring' 카테고리의 다른 글

SpringMVC CRUD pom.xml에서 dependency 추가를 위한 작업  (0) 2018.03.23
CRUD  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
beans.xml 만들기  (0) 2018.03.06
웹 MVC  (0) 2018.03.05
Posted by 조원오
:


'Java > Spring' 카테고리의 다른 글

CRUD  (0) 2018.03.08
JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
beans.xml 만들기  (0) 2018.03.06
웹 MVC  (0) 2018.03.05
모델1과 모델2  (0) 2018.03.02
Posted by 조원오
:

beans.xml 만들기

Java/Spring 2018. 3. 6. 14:09 |

spring 프로젝트 안의 src/main/resources에서 Spring Bean Configuration File을 선택한 후 xml 이름을 입력한 다음 beans를 선택하고 Finish를 한다.

'Java > Spring' 카테고리의 다른 글

JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
웹 MVC  (0) 2018.03.05
모델1과 모델2  (0) 2018.03.02
spring 시작  (0) 2018.02.28
Posted by 조원오
:

웹 MVC

Java/Spring 2018. 3. 5. 16:20 |

MVC - Model View Controler


JSP -> Controler( ex) Act ) -> Service( ex) biz ) -> DAO   <- xml

l

v

DBMS

JSP - 개발소스


Controler - 파라미터 호출


Service - 로직 전달


DAO - modeul





'Java > Spring' 카테고리의 다른 글

JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
beans.xml 만들기  (0) 2018.03.06
모델1과 모델2  (0) 2018.03.02
spring 시작  (0) 2018.02.28
Posted by 조원오
:

모델1과 모델2

Java/Spring 2018. 3. 2. 13:44 |

http://hsp1116.tistory.com/9

'Java > Spring' 카테고리의 다른 글

JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
beans.xml 만들기  (0) 2018.03.06
웹 MVC  (0) 2018.03.05
spring 시작  (0) 2018.02.28
Posted by 조원오
:

spring 시작

Java/Spring 2018. 2. 28. 13:56 |
  1. STS에서 Ctr+N을 눌러 Spring Legacy Project를 선택 후 Simple Spring Web Maven을 선택한 다음 프로젝트 이름을 정한다.




'Java > Spring' 카테고리의 다른 글

JUnit 사용하기 (Spring Maven)  (0) 2018.03.08
매소드 이름짓기 - MVC  (0) 2018.03.07
beans.xml 만들기  (0) 2018.03.06
웹 MVC  (0) 2018.03.05
모델1과 모델2  (0) 2018.03.02
Posted by 조원오
: