본문 바로가기

Spring13

[Spring Boot] Maven -> Gradle로 변환하기 기존에 JPA를 사용하여 만들었던 maven 프로젝트를 gradle로 바꾸기로 했습니다. lombok, querydsl 관련 에러가 나서 같이 다뤄보려고 합니다 !!! 1. https://gradle.org/releases/ Gradle | Releases Find binaries and reference documentation for current and past versions of Gradle. gradle.org Gradle 공식홈페이지에서 원하는 버전을 다운받습니다. 저는 binary-only 로 다운받았습니다. 2. 환경변수 설정 JDK와 동일하게 Gradle도 환경변수 설정을 해야합니다. [시스템 속성] -> [환경 변수] 1. 시스템 변수 변수 이름 : GRADLE_HOME 변수 값 : .. 2022. 10. 26.
Spring Security란? Spring Security란? Spring Application의 사용자 인증(Authentication), 권한 부여(Authorize) 및 기타 보안 기능을 제공하는 Java / Java EE 하위 -프레임 워크입니다. Spring Security는 매 요청마다 올바른 권한을 가진 사용자가 인증 절차를 확인하였는지에 대한 검증을 해줍니다. 또한 Filter 기반으로 동작하며 xml을 따로 작성하지 않고, Bean으로 컨트롤 할 수 있습니다. Authentication / Authorization (인증과 인가) 인증(Authentication): 해당 사용자가 본인이 맞는지를 확인하는 절차 (인증정보 제출) 인가(Authorization): 인증된 사용자가 요청된 자원에 접근 가능한지를 결정하는 절.. 2022. 10. 21.
Spring Framework란? 개념 정리 Spring Framework란? 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크 라고 소개되어 있습니다. 여기서 단어별로 끊으면서 Spring Framework가 정확히 어떤 프레임워크인지 설명하겠습니다. (1) 엔터프라이즈 개발 뜻을 풀이하면 기업을 대상으로 하는 개발이라는 말입니다. 즉, 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 환경을 엔터프라이즈 환경이라고 합니다. (2) 오픈소스 경량급 여기서 경량급은 툴의 도움 없이는 다루기 힘든 난해한 설정파일과 불편한 서버 배치 등으로 인한 부담을 없애고, 쉽게 해당 기능들을 사용할 수 있게 되었음을 의미합니다. 오픈 소스는 소스가 공개되어 있어서, 언제든 수정이 가능하고 이슈를 보내.. 2022. 9. 16.
Spring AOP 적용 AOP AOP: Aspect Oriented Programming AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶을 때 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶을 때 [ MemberService 회원 조회 시간 측정 추가 ] package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org... 2022. 2. 3.
Spring 스프링 데이터 JPA JPA ( Java Persistence API ) 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행함 SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있음 개발 생산성을 크게 높일 수 있음 [ build.gradle 파일에 JPA, h2 데이터베이스 관련 라이브러리 추가 ] dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' //implementation 'org.springframework.boot:spring-boot-star.. 2022. 1. 28.
Spring 통합 테스트 | JDBCTemplate 스프링 통합 테스트 스프링 컨테이너와 DB까지 연결한 통합 테스트를 진행해봅시다. [ 회원 서비스 스프링 통합 테스트 ] package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.ann.. 2022. 1. 27.
Spring H2 데이터베이스 설치 | 순수 JDBC 이번 시간에는 가볍고 심플한 H2 데이터베이스를 설치하여 서버와 DB를 연결하겠습니다. H2 데이터베이스 설치 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 h2 데이터베이스는 꼭 다음 링크에 들어가서 1.4.200 버전을 설치해주세요. 최근에 나온 2.0.206 버전을 설치하면 일부 기능이 정상 동작하지 않습니다. https://www.h2database.com/html/download-archive.html Archive Downloads www.h2database.com 저는 윈도우 사용자이기 때문에 Windows Installer를 다운로드 했습니다. 다운로드 후 설치까지 진행하면 H2 콘솔로 이동할 수 있습니다. 데이터베이스 최초 파일을 생성하기 위해 그대로 연결을 한 번 시켜줍니다.. 2022. 1. 26.
Spring 회원 웹 기능, 웹 MVC 개발 오늘은 회원 관리 예제를 웹 MVC로 개발해보겠습니다. 1. 회원 웹 기능 - 홈 화면 [ 홈 컨트롤러 추가 ] package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } [ 회원 관리용 홈 ] Hello Spring 회원 기능 회원 가입 회원 목록 [ 결과 ] 기존에 index.html이 있어도 컨트롤러 안에 "/"가 맵핑되.. 2022. 1. 25.
Spring 컴포넌트 스캔 및 자동 의존관계 설정 | 스프링 빈 등록 스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비해야 합니다. ( = 회원 컨트롤러가 회원 서비스를 의존한다) [ 회원 컨트롤러에 의존관계 추가 ] package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberSer.. 2022. 1. 24.