spring

Spring

[Spring] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 3. 회원 관리 예제 - 백엔드 개발

💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대한 수강 기록용으로 작성되었습니다. 1. 비즈니스 요구사항 정리 ❗ 아직 데이터 저장소가 선정되지 않았다는 전제하에 MemberRepository를 인터페이스(interface)로 만들 것이다. 향후에 JDBC, MyBatis, JPA 등으로 바꿔 끼울 수 있도록 인터페이스(interface)로 설정해두자. 컨트롤러(controller): API 생성 시 쓰이는 등 웹 MVC 컨트롤러 역할 서비스(service): 핵심 비즈니스 로직 구현 리포지토리(repository): 데이터베이스에 접근하여 도메인 객체를 DB에 저장 및 관리 도메인(domain): 회원,주문,쿠폰 등..

Spring

[Spring] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 2. 스프링 웹 개발 기초

💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대한 수강 기록용으로 작성되었습니다. 1. 정적 컨텐츠 파일을 웹 브라우저에 그대로 내려주는 것을 말한다. 웹 브라우저에서 hello-static.html을 요청하면 → 내장 톰캣 서버에서 스프링 컨테이너로 요청을 넘기게 된다. 이때 "hello-static" 관련 컨트롤러(controller)를 찾아보는 것이 1순위이나, 존재하지 않을 경우 resources/static 폴더 하위에서 해당 파일을 찾아 전달한다. 2. MVC와 템플릿 엔진 2-1. 동적 컨텐츠 JSP, PHP와 같은 템플릿 엔진들은 HTML을 서버에서 프로그래밍해 동적으로 바꿔 내려주는 역할을 한다. 2-..

Spring

[Spring] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 1. 프로젝트 환경설정

💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술에 대한 수강 기록용으로 작성되었습니다. 1. 프로젝트 생성 1-1. 스프링 부트(Spring Boot) 버전 'SNAPSHOT'은 아직 개발 중인 버전이다. 'M(Milestone)'은 정식 릴리즈 전 사용자 테스트 버전을 말한다. 별도 표기 없는 것이 바로 정식 릴리즈 된 버전으로, 안정성 높은 스프링 라이브러리를 제공한다. 1-2. 프로젝트 메타데이터 Group은 com.reminder와 같이 대개는 기업의 도메인 주소를 작성하는 란이다. Artifact는 빌드돼 나오는 프로젝트 결과물의 이름을 지칭한다. 2. 라이브러리 살펴보기 ❗ 그레이들(Gradle)은 의존관계에 있..

개발노트

[Spring/Error] could not resolve org.springframework.boot:spring-boot-gradle-plugin 3.x

1. 오류 > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.3. Required by: ... 인텔리제이(IntelliJ) 환경에서 프로젝트를 실행하자마자 만난 오류였다. 2. 원인 ❗ 스프링 이니셜라이저(Spring Initializr): https://start.spring.io ❗ 스프링부트(Spring Boot) 3.0 이상 버전에서는 Java 17을 필요로 한다. 스프링 이니셜라이저(Spring Initializr)에서 선택했던 Spring Boot/Java 버전간 호환성의 문제였다. 3. 해결 3-1..

Spring/Project

[Spring Boot/문구 쇼핑몰 프로젝트] Jasypt 활용 프로퍼티 암복호화

프로퍼티 암호화의 필요성을 절실히 느낀 건 소셜 로그인 기능을 구현하고서였다. 남 일 같지 않던 '개인키 노출로 인한 AWS 과금 이슈'를 접한 무렵이기도 했고, 로컬 단위의 소규모 프로젝트라 해도 클라이언트 ID/패스워드 및 API 키와 같은 중요 정보를 깃허브(GitHub)에 공개적으로 올려두는 건 무슨 이유에서든 엄두가 나지 않았다. 실사용 DB 등을 다룰 나중을 위해서라도 암호화에 대한 학습이 당장 필요해진 셈이었는데, 어디 여쭐 곳 없이 구글링하던 중 발견한 방법이 바로 Jasypt였다. 1. Jasypt ❗ Jasypt(Java Simplified Encryption)는 개발자로 하여금 암호화 과정이 어떻게 치러지는지에 대한 깊은 지식 없이도 최소한의 노력을 들여 기본적인 암호화 기능을 추가할..

개발노트

[Spring/Exception] 535-5.7.8 Username and Password not accepted

javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted 구글(Google)은 지난 2022년 5월 30일부터 '보안 수준이 낮은 앱'을 더 이상 지원하지 않는다: https://support.google.com/accounts/answer/6010255 기존에는 메일 발송을 치르기 위해 '보안 수준이 낮은 앱의 액세스'만 기본값 '사용 안 함'에서 '사용함'으로 바꿨다면, 이제는 해당 설정을 대신할 방법이 필요해진 것이다. 방법은 다음과 같다. 예외메시지. 535-5.7.8 Username and Password not accepted ✅ 해결방법: 발송 주체가 되는 계정으로 로그인한 후 ①'Google ..

Spring

[스프링 프레임워크] IoC 컨테이너 | DI | Bean | ApplicationContext

목차 스프링 프레임워크(Spring Framework) 스프링 삼각형 2-1. IoC Container(DI) 2-2. AOP(Aspect Oriented Programming) 2-3. PSA(Portable Service Abstraction) 스프링 구성 모듈 3-1. Core Container 3-2. Data 접근 계층 예제A. BeanFactory(XML Config) A-1. POJO A-2. spring-context.xml A-3. Application.class GenericXmlApplicationContext 예제B. BeanFactory(Java Config) B-1. POJO B-2. ContextConfiguration.class B-3. Application.class Ann..

@reminder
'spring' 태그의 글 목록