목록Spring (12)
개발자 성장일지

1. TDD란? TDD(Test Driven Development)란 ‘테스트 주도 개발’을 의미 TDD는 Agile 개발 방법론에 기반한 짧은 개발 주기의 반복에 의존하는 개발 프로세스로 단위 테스트를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는 개발 방식 TDD 개발을 진행하면 디버깅 시간이 단축되고, 생산성이 향상되는 등 여러가지 이점을 얻을 수 있지만 기존 개발 방식에 익숙한 상황에서 생산성 저하의 우려로 TDD 도입이 쉽지 않음 2. JUnit 이란? JUnit은 TDD의 가장 대표적인 Java 단위 테스트 프레임워크 어노테이션 기반 단위 테스트(Unit Test)를 위한 도구 제공 Spring Boot 2.2 부터 JUnit 5 사용 3. Log 개요 로그(log)는 시스템..

1. API란? API(Application Programming Interface)란 프로그램과 프로그램 사이의 연결이다. 일종의 소프트웨어 인터페이스이며 다른 종류의 소프트웨어에 서비스를 제공한다. 위키백과- API는 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)를 정리하고, 주문(명령)을 받으면 요리사(응용 프로그램)와 상호작용하여 요청된 메뉴(명령에 대한 값)를 전달하는 즉, API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 일반적으로 API는 애플리케이션에서 요청을 보내고 응답을 받기 위해 정의된 명세(URL)를 의미 2. REST API란? REST(Representational State Transfer)는 2000년 Roy Fielding의 박사가 제안한 네트워크에서 클라이..

1. 인증과 인가 인증(Authentication)은 애플리케이션에서 특정 Resource(디렉터리, 파일 등)에 대해 특정 작업을 수행할 수 있는 주체인지 확인하는 과정 인가(Authorization)는 권한부여 또는 허가와 같은 의미로 인증 이후의 과정 일반적으로 인증을 통해 사용자를 식별하고 인가를 통해 시스템 자원에 대한 접근을 통제 2. Spring Security란? Spring Security는 인증과 인가 관련 기능 구현을 손쉽게 처리 해주는 라이브러리 Spring Security의 인증을 처리 방식의 기본은 HttpSession 방식 Spring Security는 서블릿 필터(Servlet Filter) 기반으로 동작하고, 다양한 기능들을 Filter로 제공 3. Spring Securi..

1. JPA의 개요 JPA(Java Persistence API)는 자바 ORM 기술에 대한 API 표준으로 Java를 이용해서 데이터를 유지관리(Data Access) 할 수 있는 기술 Spring에서는 JPA를 쉽게 사용할 수 있도록 Spring Data JPA 라이브러리를 지원 JPA는 특정 DBMS에 종속되지 않고, 객체지향적인 설계로 좀 더 직관적이고 비즈니스 로직에 집중 JPA는 복잡한 SQL 실행이 어렵다는것과 JPA를 애플리케이션 개발에 제대로 활용하기 위해서는 많은 경험과 학습을 요구 2. JPA 주요 컴포넌트 3. JPA Entity와 Entity Manager Entity는 Database Table에 대응하는 Java 클래스 Java 클래스에 @Entity 선언으로 Entity 객체..

1. MyBatis 사용법(1) application.properties설정 server.servlet.context-path=/BookStore server.port=80 spring.thymeleaf.cache=false # Mybatis 설정 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/java2_bookstore spring.datasource.username=root spring.datasource.password=1234 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #MyBatis Mapper 경로설정 mybatis.mapper-locations=classpath:/mappers/**/..

환경설정 1. 프로젝트 생성 : new → new Spring Starter Project 2. next 를 누르고 아래와 같이 라이브러리 추가 → finish 3. application.xml 설정 server.servlet.context-path=/Ch06 // 컨택스트 루트 server.port=80 // 포트 번호 spring.thymeleaf.cache=false // 캐시 저장을 하지않아서 CSS, JS 파일을 저장하지 않으므로 매번 캐시 비우기를 하지 않아도 됨 // 해당 설정은 개발시에만 한다. 4. Eclipse Market 에서 플러그인 설치 Eclipse Web Developer Tools 3.28 설치 - HTML, CSS 파일 등을 생성할 수 있다. 2. Thymeleaf Plyg..

1. Spring Boot 개요 Spring Boot는 기존 Spring MVC 프로젝트를 보다 편리하고 가볍게 사용할 수 있도록 해주며 특히 웹 애플리케이션 개발에 최적화 된 프레임워크 Spring Boot는 복잡한 Spring 설정을 자동화하고 내장 WAS를 통해 단독 웹 애플리케이션으로 실행 Spring5 버전 이후로 Spring MVC 는 Spring Boot로 대체되는 추세 Spring Boot 기본 빌드 도구는 Gradle 2. 템플릿 엔진 개요 템플릿 엔진은 데이터와 이 데이터를 표현해줄 템플릿을 결합해주는 도구이다. 템플릿은 HTML과 같은 마크업 문서이고 데이터는 DB에 저장된 데이터를 의미한다. 템플릿 엔진을 이용해서 사용자에게 제공되는 화면과 데이터를 분리하여 관리할 수 있다. Spr..

1. 데이터 영속성(Persistence) 이란? 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성 영속성이 없는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 소멸 메모리 상의 데이터를 파일 시스템, 데이터베이스 등을 활용하여 영구적으로 저장하여 영속성 부여 데이터를 데이터베이스에 저장하는 방법으로 JDBC, Persistence Framework 기술을 활용 Spring MVC 에서 Persistence Layer는 데이터에 영속성을 부여해주는 계층 2. ORM 이란? ORM은 객체-관계 연결(Object Relational Mapping) 의미로 객체와 데이터베이스의 테이블을 자동으로 매핑(연결) 해주는 기술 ORM 기술을 통해 객체를 통해 간접적으로 데이터베..