Java Eco
61
Java EcoTILSpring Framework
Spring Boot; Logback, Log4JDBC 개요
Log4j : 자바의 예외를 처리하기 위해 시작된 프로젝트 (종료) fork → Logback slf4j(Simple Logging Facade for Java) 와 함께 사용함 slf4j : 로깅 모듈 Interface slf4j를 이용해 코드를 작성하고 내부적으로 Logback, log4j2로 작동 appender : 로그를 출력할 타겟을 결정함 (console, file, db) encoder : appender에 포함되어 출력할 로그를 지정한 형식으로 변환하는 역할. logger : 로그를 출력하는 요소, level속성을 통
Java EcoTILJava programming
Java; Reflection 개요
자바에서 제공하는 리플렉션(Reflection)은 C, C++과 같은 언어를 비롯한 다른 언어에서는 볼 수 없는 기능입니다. 이미 로딩이 완료된 클래스에서 또 다른 클래스를 동적으로 로딩(Dynamic Loading)하여 생성자(Constructor), 멤버 필드(Member Variables) 그리고 멤버 메서드(Member Method) 등을 사용할 수 있도록 합니다. 그러니까, 컴파일 시간(Compile Time)이 아니라 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 객체화를 통해 분석 및 추출해낼 수 있는 프
Java EcoTILSpring Framework
Spring Web; MVC
Model : 어플리케이션의 정보, 데이터를 의미한다. View : 사용자 인터페이스, 사용자가 보고 사용하는 화면을 의미한다. Controller : 모델과 뷰의 중계 역할. 사용자의 요청을 파악하고 그에 맞는 결과를 응답한다. 요청당 컨트롤러에 매핑되는 서블릿이 각각 존재했다. 중복코드를 방지하고 일관된 관리를 위해 프론트 컨트롤러가 생겼다. Front controller : 프론트 컨트롤러는 컨트롤러 앞에 존재하는 모든 흐름 제어를 담당한다. 다른 웹 프레임워크에도 존재한다. 스프링 웹 MVC의 dispatcher servle
Java EcoTILSpring Framework
Spring Boot; 훑어보기#5 - Spring Data JPA
구현체 없이 인터페이스만으로 리포지토리에 커밋이 가능한 코드를 만들 수 있다. 반복적으로 개발한 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다. RDB에서 스프링 데이터 JPA는 아주 좋은 기능이다. 이외의 인터페이스 선언이나 구현체는 필요없다. 인터페이스 이름에 규칙이 있다. (JPQL) 예를들어 findByNameAndId 라고 하면 & 연산자를 넣을 수 있다. 간단한 요구사항은 인터페이스 이름만으로 개발이 끝난다. 페이징 기능을 자체적으로 제공한다. 의존주입도 Repository 의존만 받아오면 된다. 스프링 데이터 J
Java EcoTILSpring Framework
Spring Boot; 훑어보기#4 - JPA
JPA → 인터페이스 (자바 표준) hibernate → 구현체 (여러 벤더들이 있음) 쿼리도 JPA가 직접 만들어서 실행해준다. 객체를 메모리에 넣듯 DB에 넣을 수 있게 해준다. SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다. build.gradle application.properties spring.jpa.show-sql: JPA가 날리는 쿼리를 볼 수 있다. spring.jpa.hibernate.ddl-auto: 테이블을 자동으로 만들어주는 기능이다. (none/create) @Id : 인식
Java EcoTILSpring Framework
Spring Boot; 훑어보기#3 - JDBCTemplate
H2 데이터베이스 순수 JDBC 스프링 JdbcTemplate : JDBC 중복을 제거해서 만든 템플릿 JPA : 객체를 쿼리 없이 DB에 저장하는 방법 스프링 데이터 JPA : JPA를 간단하게 쓰기 위한 스프링의 Wrapping official site bin/h2.sh 실행 JDBC URL : jdbc:h2:tcp://localhost/~/h2/test 파일로 직접 접근하지 말고 TCP로 접속. build.gradle 추가 Connection 객체 : DB연결 객체 PreparedStatement 객체 : 쿼리와 코드를 매칭해
Java EcoTILSpring Framework
Spring Boot; 훑어보기#2 - GetMapping, PostMapping
URI를 매핑하고 템플릿으로 반환한다. (String) 접근을 변수에 바로 하더라도 getter로 접근하여 (propperties방식) 반환받는다. Controller를 먼저 찾고 없으면 static 파일을 찾는다.
Java EcoTILJava programming
테스트 코드의 작성법 assert
개발된 코드가 예상된 결과값을 내놓는가에 대한 시험 테스트를 먼저 만들고 구현체를 개발하는 방법 테스트 주도 개발 src 아래 test라는 폴더 아래로 프로젝트와 같은 패키지 구조를 가짐. 테스트하고자 하는 클래스의 끝에 Test라고 붙이는 것이 관례 메소드를 명시하고 @Test 어노테이션을 붙임. 결과값 result가 기대값 member를 만족하면 테스트 코드를 통과한다. 결과값 result가 기대값 member를 만족하면 테스트 코드를 통과한다. -> Expecting 'result' to be equal to 'member'