728x90

java, spring 139

JPA 맛보기

JPA 맛보기 이번 글은 프로젝트에 JPA 도입을 위해 JPA에 대해 기초 학습한 내용 및 보충한 글이다. 해당 글은 김영한 님의 JPA 기본 편 강의 앞부분을 듣고 공부한 것을 작성한 내용이다. 목차 1. JPA 2. 객체와 RDB 3. JPA 동작 4. JPA를 왜 사용해야 하는가? 5. JPA 프로젝트 6. JPQL 1. JPA JPA는 Java Persistence API의 약자이고, JAVA 진영의 ORM 기술 표준이다. ORM은 Object Relational Mapping의 약자이고, 객체와 관계형 데이터베이스를 맵핑해주는 것을 말한다. 1) JPA의 장점 - 생산성 증가 - 유지보수성 향상 - SQL 노가다 횟수가 확연히 줄어든다. 2) JPA 사용 주의사항 ※ 객체와 Table을 제대로 ..

java, spring 2022.06.10

[Spring Boot] 로그와 예외처리

[Spring Boot] 로그와 예외처리 목표 1. 스프링 로깅 방식 2. 스프링 예외처리 내용 스프링에서의 로깅 방식과 SLF4J 와 LogBack을 이용하여 로깅을 구현한다. 스프링에서의 예외처리 방식을 이해하고 구현한다. @ControllerAdvice 사용한 예외처리를 작성한다. 로깅은 부가기능에 속하며, AOP로 특정 위치에 위빙하는 방식으로 많이 처리된다. AOP를 사용하는 대표적인 사례이다. 예외처리의 목적은 시스템에서 발생된 예외를 최종 사용자에게 보이지 않도록 하는 것이다. 시스템에서 발생된 예외는 최종 사용자에게 도달하기 전에 중간에 정제 또는 복구되어 애플리케이션이 진행되어야 한다. Spring Boot Logging System ■ Logback framework 사용 Log4j 에..

java, spring 2022.03.19

[Spring Boot] AOP - Aspect Oriented Programming

[Spring Boot] AOP - Aspect Oriented Programming 목표 1. AOP 개념과 주요 용어 2. @Aspect 어노테이션 내용 1. Aspect Oriented Programming의 개념과 주요 용어를 파악한다. 2. 포인트 컷 문법을 이해하고 구현한다. 3. @Aspect 어노테이션을 이용해 다양한 Advice를 구현할 수 있다. 참고 내용 객체지향 기본원칙을 적용해서 핵심기능과 부가기능을 분리해서 모듈화 하는 것은 매우 어렵다. AOP 방법으로 상당 부분 해결할 수 있다. 스프링 AOP는 매우 강력한 기능이고 실제로 여러 프로젝트에서 거의 필수적으로 사용되고 있으며 적극적으로 사용함으로써 전체적인 애플리케이션의 품질을 높일 수 있다. AOP의 개요와 용어 AOP (As..

java, spring 2022.03.19

[Spring Boot] RESTful 웹서비스 테스트

[Spring Boot] RESTful 웹서비스 테스트 Spring Boot 프로젝트에서 RESTful 웹서비스 테스트를 공부한 글입니다. 목표 JUnit4 단위 테스팅과 스프링 테스트 내용 스프링에서 테스팅 방식과 패턴을 사용해 테스팅을 수행한다. 스프링 테스트 프레임웍을 사용해서 테스트를 수행할 수 있다. JUnit Java에서 독립된 단위테스트(Unit Test)를 지원해주는 프레임워크 단위테스트(Unit Test)란? - 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차, 즉 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차 (일반적인 절차) - jUnit은 보이지 않고 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위테스트를 쉽게 해주는 테스트 지원 프..

java, spring 2022.03.17

[Spring Boot] REST API, CRUD 구현

[Spring Boot] REST API, CRUD 구현 이전 글 2022.03.05 - [Java & Framework/Spring Boot] - [Spring Boot] REST API, CRUD 설계 2022.03.04 - [Java & Framework/Spring Boot] - [Spring Boot] Spring MVC로 RESTful API 서비스 구현 2022.03.04 - [Computer Science] - REST, RESTful 2022.03.03 - [Java & Framework/Spring Boot] - [Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개 이번 글에서는 REST API, CRUD를 구현하는 것으로 Controller, Service 클래스를 구현한..

java, spring 2022.03.17

[SpringBoot] API Security and JWT

[SpringBoot] API Security and JWT 이번 글은 API Security와 JWT에 관한 내용에 대해 공부한 내용을 Spring Boot 프로젝트에 적용하기 위한 글이다. 목표 1. 토큰을 통한 인증방식의 이해 2. JWT 방식 토큰 인증 구현 내용 - 웹 서비스 인증방식 중 하나인 토큰을 이용한 인증방식을 이해한다. - JWT라는 표준 JSON Web Token을 구현한다. 참고 내용 어플리케이션에서 보안은 주로 인증(Authentication)과 인가(Authorization)를 의미하며, Spring Security 프로젝트에서 다루어 진다. 아이디/패스워드 기반 인증방식은 최근 더욱 강력한 인증방식인 2단계 인증, 지문과 안면인식을 포함한 하드웨어 인증 방식 등 여러 강력한 ..

java, spring 2022.03.15

[SpringBoot] MariaDB 연결하기

[SpringBoot] MariaDB 연결하기 공부하는 것을 기록하는 블로그입니다. 틀린 내용이 있다면 지적해주시고 댓글 남겨주시면 감사하겠습니다. 내용을 확인하고 수정하여 올바른 정보를 전달할 수 있도록 하겠습니다.^^ 이번 글은 SpringBoot 프로젝트에 MariaDB를 연결하는 방법을 소개합니다. 1. Project Environment 프로젝트는 SpringBoot 사이트에서 생성하고, IDE는 Intellij를 사용, 빌드 관리는 Gradle을 선택했습니다. 2. Dependency 설정 mariaDB와 연결할 수 있도록 관련 jdbc 라이브러리를 추가시킵니다. 파일 : build.gradle dependencies { // * * * 중략 * * * implementation 'org.ma..

java, spring 2022.03.10

[Spring Boot] REST API, CRUD 설계

[Spring Boot] REST API, CRUD 설계 이전 글 2022.03.04 - [Java & Framework/Spring Boot] - [Spring Boot] Spring MVC로 RESTful API 서비스 구현 2022.03.04 - [Computer Science] - REST, RESTful 2022.03.03 - [Java & Framework/Spring Boot] - [Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개 이전 글들을 다 읽었거나 RESTful API에 대해서 공부를 했다면 다음은 구현을 해야 한다. # HTTP 메서드 Operation HTTP method Create POST Read GET Update PUT Delete DELETE # CRUD..

java, spring 2022.03.05

[Spring Boot] Spring MVC로 RESTful API 서비스 구현

[Spring Boot] Spring MVC로 RESTful API 서비스 구현 이전 글 / 참고할만한 글 2022.03.03 - [Java & Framework/Spring Boot] - [Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개 2022.03.04 - [Computer Science] - REST, RESTful 스프링은 Layered Architectrue 구조에 기반한 개발을 지향한다. MVC(Model, View, Controller)로 분리하는 것도 계층 구조로 구성하는 것이라 여길 수 있다. 스프링에서 가장 먼저 요청을 받아 처리하는 부분을 스프링 MVC라고 할 수 있다. # Spring-Web MVC에서의 RESTful 지원 다음 코드를 보자. @Controller,..

java, spring 2022.03.04

[Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개

[Spring Boot] 스프링 특징 & 스프링 부트 간단한 소개 스프링 프레임워크(Spring framework) 특징 1. 컨테이너(Container) | 스프링 코어 Spring 컨테이너 또는 스프링 코어 위에 올라온 Java 객체들을 관리함. Spring 컨테이너는 Java 객체의 Life Cycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있음. 2. DI (Dependency Injection) 지원 Spring은 설정 파일이나 어노테이션을 통해서 객체 간의 의존관계를 설정할 수 있도록 하고 있음. 3. AOP (Aspect Oriented Programming) 지원 Spring은 트랜잭션이나 로깅, 보안과 같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에..

java, spring 2022.03.03
728x90