전체 글

초보 개발자의 지식 공유의 장
느낀점 Pojomatic 라이브러리라는게 있다. Object에 포함된 equals, hashCode, toString 메소드를 간단히 구현할 수 있도록 도와준다.(lombok도 가능할텐뎅) org.pojomatic pojomatic 1.0 bean 설정을 xml로만 했더니, JavaConfig 를 활용했을 때 생소한 부분이 많이 있었다. Java로 Configuration할 때와 xml의 장, 단점을 몸소 겪어보자..(mybatis-spring 에서 @MapperScan 이라는 걸 처음봤다. MyBatis를 java로 빈을 설정하니 생소하였다..)
해야할일 로그 관련 라이브러리 조사(logback, slf4j)
개발 환경 Java 8 maven 3.5 Logback/SLF4J Spring 4.3.8.RELEASE MyBatis 3.2 요구사항 정의 도서 정보 목록을 조회 도서 상세 정보를 조회 도서 정보를 등록 도서 정보를 수정 도서 정보를 삭제
람다식 람다식이란? 자바8부터는 객체 지향 프로그래밍과 함수적 프로그래밍을 혼합할 수 있게 람다식을 제공한다. 람다식은 익명 함수(anonymous function)를 생성하기 위한 식으로 객체 지향 언어보다는 함수 지향 언어에 가깝다. 람다식 -> 매개 변수를 가진 코드 블록 -> 익명 구현 객체 Runnable 인터페이스의 익명 객체를 생성하는 전형적인 코드 방식 Runnable runnable = new Runnable(){ public void run(){ ... } }; Runnable runnable = ()-> { ... }; 람다식은 "(매개변수) -> {실행코드}" 형태로 작성된다. 런타임 시에 인터페이스의 익명 구현 객체로 생성된다. 어떤 인터페이스를 구현할 것인가는 대입되는 인터페이스..
자원 복사 및 소스 코드 컴파일 process-resources와 compile 페이즈를 알아보자. 아래와 같은 명령어를 실행하면 src/main/java 디렉토리 아래의 모든 소스 코드가 컴파일된다. mvn compile compile 페이즈 실행 과정 의존 관계에 있는 process-resources 페이즈 실행 (resources 플러그인의 resources골이 실행) resources 골은 src/main/resources 디렉토리에 있는 모든 자원을 target/classes 디렉토리로 복사 만약 엘리먼트를 재정의했다면 재정의한 규칙에 따라 자원을 복사한다. ... src/main/resources src/main/java **/*.java ... 마이바티스 프레임워크..
메이븐 페이즈와 플러그인 메이븐이 제공하는 모든 기능은 플러그인 기반으로 동작한다. 메이븐 페이즈 또한 플러그인을 통하여 실질적인 작업이 실행된다. 고로 메이븐에서 플러그인은 매우 중요하다..! 메이븐 플러그인 ... org.apache.maven.plugins maven-compiler-plugin 2.1 ... 위의 소스는 compiler 플러그인을 사용하도록 설정한 것이다. 메이븐 플러그인은 하나의 플러그인에서 여러 작업을 수행할 수 있도록 지원한다. 실행할 수 있는 각각의 작업을 골(goal)이라고 정의한다. 예를 들면 compiler 플러그인은 하나지만 이 플러그인은 아래와 같은 골(goal)들을 지원한다. sourceDirectory의 소스 코드를 컴파일 하는 compile 골 testSour..
메이븐 라이프사이클 참고) 메이븐 Getting Started 메이븐은 빌드 라이프사이클을 가지며, 라이프사이클의 각 단계를 페이즈라고 부른다. 메이븐의 라이프사이클과 페이즈 메이븐 빌드를 앤트(Ant)빌드와 비교해보자. 앤트는 빌드하기 위한 단위로 타겟을 사용한다. 앤트 기반의 빌드 스크립트 앤트 빌드는 엘리먼트 생성과 엘리먼트 사이의 의존관계를 개발자가 자유롭게 설정할 수 있다. 메이븐 빌드보다 자유로운편이라 느껴진다. 프로젝트 빌드 과정(일반적) 빌드 결과물 삭제 컴파일에 필요한 자원을 복사 소스 코드 컴파일 테스트 패키지 배포 앤트(Ant)에서는 이 각각의 단계를 으로 만든 후 각 타겟의 의존 관계를 만들어 순서를 결정한다. 메이븐도 순서는 같으며, 다른 점..
느낀점 Git을 도입하려다보니, 생각해야되는게 생각보다 많았다. 무엇인가 변화를 주는 것은 어려운 것 같다. maven의 profile 과 module은 정말 편리한 기능인거 같음 maven 리포팅관련 기능도 살펴보아야함 주말에 Git을 해야함
maven plugin을 설정하고 mvn test 명령을 실행하였더니, 아래와 같은 오류가 났다. [ERROR] Error resolving version for plugin 'org.apache.maven.plugins:maven-dependency' from the repositories [local (C:\Users\xxx\.m2\repository), central (https://repo.maven.apache.org/maven2)]: Plugin not found in any plugin repository -> [Help 1] plugin을 찾을 수 없다는 오류인데, 처음에는 repository의 설정 문제라고 생각하였으나.. pom.xml plugin 설정에 version이 빠질때 발생할 ..
메이븐 설정 파일 알아야할 설정 파일 settings.xml (메이븐 빌드툴 관련) pom.xml (메이븐 기반 프로젝트에서 사용하는 설정 파일) pom.xml 설정 파일 메이븐은 빌드와 관련된 정보를 프로젝트 객체 모델(Project Object Model)이라는 이름으로 정의한다.메이븐의 'mvn' 명령은 기본적으로 pom.xml파일을 읽어 빌드를 실행한다. (pom.xml 파일이 아닌 다른 설정 파일을 사용하려면 -f 또는 --file 옵션을 사용한다.) mvn -f customPom.xml package POM은 크게 4가지 카테고리로 분류된다. 프로젝트 기본 정보 빌드 설정 프로젝트 관계 설정 (dependency 관련) 빌드 환경 (빌드환경에 따른 정보, 프로파일) 프로젝트 기본 정보프로젝트 ..
깡냉쓰
평범한 개발자 노트