Web

·Web
FileUploadMultipartService.java/** * MultipartFile을 이용한 파일 업로드 구현 */@Service@Slf4jpublic class FileUploadMultipartService { @Autowired @Qualifier("fileUploadExecutor") private ExecutorService executorService; @Value("${file.upload-dir}") private String uploadDir; /** * (방법2) 비동기 파일 업로드 */ @Async public void uploadFileAsync(MultipartFile file) throws IOException { ..
·Web
fileupload.ymlspring: servlet: multipart: enabled: true max-file-size: 10MB max-request-size: 10MBfile: upload-dir: "경로" application.yml10번 라인 추가spring: application: name: project-api profiles: active: local config: import: - config/database.yml - config/security.yml - config/fileupload.yml cache: type: simple FileUploadMultipartServcie.java/** ..
·Web
Spingboot는 다양한 설정을 통해 애플리케이션의 동작을 제어할 수 있습니다.주요 설정 클래스@SpringBootApplication@SpringBootApplication은 Spring Boot 애플리케이션의 진입점으로, 여러 애너테이션을 조합한 것입니다.주요 기능- @SpringBootConfiguration: Spring 설정 클래스를 나타냅니다.- @EnableAutoConfiguration: Spring Boot의 자동 구성 기능을 활성화합니다.- @ComponentScan: @Component 애너테이션이 붙은 클래스를 스캔하여 Spring 컨텍스트에 등록합니다.WebMvcConfigurerWebMvcConfigurer는 Spring MVC 설정을 사용자 정의하기 위해 사용됩니다.주요 기능..
·Web
Spring Boot는 서버와 클라이언트 간의 효율적인 데이터 전송을 위해 여러 가지 응답 처리 방식을 제공합니다. 이러한 다양한 응답 처리 방식은 애플리케이션의 요구사항에 따라 유연하게 선택할 수 있으며, 성능 최적화와 사용자 경험 향상에 기여합니다. 이번 글에서는 각 응답 처리 방식의 특징과 사용 사례를 자세히 살펴보겠습니다. 1. @ResponseBody / @RestController간단한 문자열, 객체, JSON 등을 반환할 때 주로 사용상태 코드와 헤더 설정은 자동으로 처리되며, 기본적으로 200 OK 상태 코드가 사용됨json 응답형식{ "key": "Hello", "value": "World"}2. ResponseEntity간단하고 유연한 응답 처리주로 API 응답에 상태 코드와 헤더를..
·Web
OAuth2Spring Security의 OAuth2 모듈은 OAuth 2.0 프로토콜을 사용하여 사용자 인증 및 권한 부여를 처리하는 기능을 제공합니다. 이를 통해 애플리케이션은 Facebook, Google, GitHub 등과 같은 외부 OAuth 2.0 제공자를 사용하여 사용자를 인증할 수 있습니다.Spring Security OAuth2 기능OAuth2 로그인: 외부 OAuth 2.0 제공자를 통해 사용자를 인증합니다.Resource Server: 액세스 토큰을 검증하고 보호된 리소스에 대한 접근을 제어합니다.Authorization Server: 인증과 권한 부여를 처리하고 액세스 토큰을 발급합니다. 클라이언트 정보얻기구글: https://console.cloud.google.com/home/d..
·Web
💻 Apple M1 Pro (macos14.5 on arm64)🛠️ IDE: IntelliJ🏁 Language: JAVA17🔗 Framework: Springboot 3.3.0⚙️ Project: Gradle🗄️ Database: MySQL 8.3.0 Homebrew🔐 Spring Security 6.3.0 JWT (JSON Web Token) 는 무엇인가요? JWT(JSON Web Token)는 JSON 객체를 사용하여 두 개체 간 정보를 안전하게 전송하기 위한 컴팩트하고 자가 포함된 방식입니다. JWT는 보통 인증과 권한 부여에 사용됩니다. 프로젝트 설정의존성 추가build.gradle// jwtimplementation 'io.jsonwebtoken:jjwt-api:0.11.5' // J..
·Web
💻 Apple M1 Pro (macos14.5 on arm64)🛠️ IDE: IntelliJ🏁 Language: JAVA17🔗 Framework: Springboot 3.3.0⚙️ Project: Gradle🗄️ Database: MySQL 8.3.0 Homebrew🖇️ Persistence Framework: MyBatis🔐 Spring Security 6.3.0 Spring Security 6.x 버전에서 달라진 점!Spring Boot 3.3.0의 spring-boot-starter-security는 Spring Security 6.3.0을 지원합니다. springboot3.x 버전에선 spring security6.x 을 기반으로 상당 부분에 변화가 생겼습니다. Spring Secur..
·Web
💻 Apple M1 Pro (macos14.5 on arm64)🛠️ IDE: IntelliJ🏁 Language: JAVA17🔗 Framework: Springboot 3.3.0⚙️ Project: Gradle🗄️ Database: MySQL 8.3.0 Homebrew 왜 로그 설정을 해야되는 걸까요? 쉽게 print문으로 확인하고 싶어요!로그 설정을 굳이 하지 않아도 '개발'을 할 수는 있을 겁니다.그러나 문제 발생 시 원인을 찾기 위해 로그는 매우 중요합니다.로그대신 print문으로 디버깅 하시는 분들도 더럿 계시겠지요.간단하게 한두개 확인할 때는 print문을 사용할 수 있겠지만 코드 한두줄 짜는게 아니라면 print문보다 log를 사용하는 것이 효율적이며 필수적입니다.로깅 레벨 설정: 로그..
·Web
SpringBoot Security를 사용하는 이유?SpringBoot 애플리케이션에서 보안을 구현할 때 사용됩니다.인증, 권한 부여, 보안 설정 등의 주요 기능을 구현하며 애플리케이션의 보안을 효율적으로 관리할 수 있도록 도와주기 때문에 상당한 보안 지식과 경험이 있지 않다면 보안을 직접 구현하는 대신 Spring Security라는 검증된 프레임워크를 사용함으로써 보안을 강화할 수 있습니다. 주요기능1. 인증 (Authentication): 로그인폼 기반 인증: 주로 HTML 로그인 폼을 통해 사용자 이름과 비밀번호를 서버에 제출하는 방식Step1. 로그인 페이지 폼에서 사용자 자격 증명 제출사용자가 로그인 폼에 사용자 이름과 비밀번호를 입력하고 제출하면클라이언트는 POST 요청을 통해 자격 증명을..
·Web
💻 Apple M1 Pro (macos14.5 on arm64)🛠️ IDE: IntelliJ🏁 Language: JAVA17🔗 Framework: Springboot 3.3.0⚙️ Project: Gradle🗄️ Database: MySQL 8.3.0 Homebrew 사전준비- MySQL 설치MySQL이 설치되어 있지 않다면 아래글을 참고해주시길 바랍니다. [MAC M1 Pro] mysql 삭제 / 설치 / 실행 / 중지 / 상태확인 / 초기설정 / 접속 / 에러해결MySQL 삭제- homebrew 로 설치했을 때sudo rm -rf /usr/local/var/mysqlsudo rm -rf /usr/local/bin/mysql*sudo rm -rf /usr/local/Cellar/mysql - ..
태이오이오
'Web' 카테고리의 글 목록