본문 바로가기

개발중/Spring

(88)
RepackageMojo 이란 ? RepackageMojo RepackageMojo는 Spring Boot Maven 플러그인의 일부로, Spring Boot 애플리케이션을 실행 가능한 "fat" JAR 또는 WAR 파일로 패키징하는 작업을 수행한다. 이 "fat" JAR 또는 WAR 파일에는 애플리케이션 코드와 함께 모든 필요한 의존성이 포함되어 있어, 애플리케이션을 배포하거나 실행하기 쉽게 만든다. RepackageMojo가하는 작업 프로젝트의 모든 의존성을 포함하는 실행 가능한 JAR 또는 WAR 파일을 생성한다. 애플리케이션의 메인 클래스를 자동으로 검색하거나 사용자가 지정한 메인 클래스를 사용하여 실행 가능한 JAR 또는 WAR 파일의 메인 클래스를 설정한다. 결과물을 생성할 때 필요한 리소스 및 메타데이터를 포함한다. 이러한 ..
org.apache.maven.plugins 빨간줄 뜨며 에러가 난다면 ? 😈👿 Maven 에러 아래 두 개의 라이브러리에서 에러가 자꾸 난다면 ? org.apache.maven.plugins:maven-deploy-plugin:2.8.2 org.apache.maven.plugins:maven-site-plugin:3.3 방법1 ) Maven 레포지토리 캐시를 정리하십시오. Maven은 다운로드한 종속성을 로컬 레포지토리에 캐싱한다. 때로는 이 캐시가 손상되거나 누락된 파일을 포함할 수 있으며, 이로 인해 에러가 발생할 수 있다. 로컬 레포지토리를 삭제하거나 특정 플러그인에 대한 캐시를 제거하여 문제를 해결할 수 있다. 일반적으로 로컬 레포지토리는 사용자 홈 디렉토리의 .m2/repository 폴더에 위치해 있다. 방법2 ) Maven 설정을 확인하십시오. 프로젝트 또는 전역 설정..
[Spring] org.springframework.data.domain의 PageImpl 과 Page<T> 에 대해서 org.springframework.data.domain.Page org.springframework.data.domain.PageImpl 두 클래스가 궁굼했다. org.springframework.data.domain.Page Page는 인터페이스로, 분할된 데이터 집합을 나타냅니다. 이 인터페이스는 페이징 및 정렬 기능을 제공하며 일반적인 페이지 처리 작업에 사용됩니다. 장점 추상화된 인터페이스로, 여러 구현체를 제공할 수 있어 유연성이 있습니다. 애플리케이션 전반에 걸쳐 일관된 페이징 처리를 위해 사용할 수 있는 표준 인터페이스입니다. 단점 인터페이스이므로 직접 인스턴스화하거나 사용할 수 없습니다. 대신 구현 클래스를 사용해야 합니다. org.springframework.data.domain.Pag..
[스프링] TDD(Test-Driven Development) 필요한 이유와 방법론에 대해 TDD(Test-Driven Development)란, 테스트 주도 개발 방법론으로서, 소프트웨어 개발 과정에서 테스트 케이스를 먼저 작성한 후, 해당 테스트를 통과하는 코드를 작성하는 개발 방식입니다. 이를 통해 높은 품질의 코드를 작성하고, 잠재적인 버그를 줄이며, 리팩토링과 유지보수를 용이하게 할 수 있습니다. TDD가 필요한 이유 코드 품질 향상 TDD를 통해 높은 품질의 코드를 작성할 수 있습니다. 테스트 케이스를 먼저 작성하면 개발자는 코드를 작성하기 전에 요구사항과 기능에 대해 명확하게 이해할 수 있습니다. 버그 감소 TDD는 개발 초기 단계부터 버그를 발견하고 수정할 수 있게 도와줍니다. 이는 장기적으로 시간과 비용을 절약할 수 있습니다. 유지보수 용이 테스트 케이스가 작성되어 있으면, 코..
Spring 프로젝트에서 A DB 와 B DB 커넥션 맺어서 사용하려고 하는데 패키지명과 패키지 구조를 어떻게 잡아야할지 고민이야. Spring 프로젝트에서 (JAVA)A DB 와 B DB 를 커넥션 맺어서 사용하려고 하는데 패키지명과 패키지 구조를 어떻게 잡아야할지 고민이야. 몇가지 대안을 추천해줘 대안 1 src/main/java └─ com.yourcompany.yourproject ├─ a │ ├─ config │ ├─ entity │ ├─ repository │ ├─ service │ └─ controller └─ b ├─ config ├─ entity ├─ repository ├─ service └─ controller 대안 2 src/main/java └─ com.yourcompany.yourproject ├─ db │ ├─ a │ │ ├─ config │ │ ├─ entity │ │ └─ repository │ └─ b..
[Spring] 다이나믹 프록시(dynamic Proxy) 다이나믹 프록시 ( dynamic Proxy ) 런타임시에 동적으로 만들어지는 오브젝트 java의 reflection을 이용해서 proxy 객체 생성(java.lang.reflect) 타겟 인터페이스와 동일한 형태로 생성 프록시 대상의 객체가 최소 하나 이상의 인터페이스를 구현했다면 JDK 동적 프록시를 이용하면된다. FactoryBean(팩토리빈)을 통해 생성 reflection이란 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법을 말한다. 스프링의 빈은 기본적으로 클래스 이름과 Property로 정의한다. 스프링은 지정된 클래스 이름을 가지고 reflection을 이용해 해당 클래스의 객체(object)를 생성한다. JDK Dynamic Proxy JDK Dynamic Proxy는 Proxy ..
[Spring] OAuth2.0 개념 및 작동방식 OAuth2 개념 OAuth 2.0(Open Authorization 2.0, OAuth2)는 인증을 위한 개방향 표준 프로토콜이다. 이 프로토콜에서는 Third-Party 프로그램에게 리소스 소유자를 대신해 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식으로 작동되며 구글, 페이스북 등 외부 소셜 계정을 기반으로 간편하게 인증하는 기능이다. OAuth2 제공자 구글 페이스북 카카오 네이버 먼저 알아야 할 용어 Authentication(인증) 인증, 접근 자격이 있는지 검증하는 단계 Authorization(인가) 자원에 접근할 권할을 부여하고 리소스 접근 권한이 있는 Acess Token을 제공 Access Token 리소스 서버에게서 정보를 획득할 때 사용되는 토큰으로, 만료 기간이..
[Spring] CORS 가 뭐야 ? CORS 란 무엇인가 ? 현재 IP 가 다른 IP 로 리소스를 요청하는 구조에 대응하는 정책이다. CORS 는 웹 상에 있어 하나의 보안 정책이다. 하지만 처음 겪으면 너무 당황스럽고 까다로운 보안 정책이지만 개념을 알고나면 잘 해결 할 수 있다! cors 처음 해결 시 난관 기록 ..( 하루 꼬박 걸림 ) WEB CROS 허용 설정 (Vue -> API) 성공 기록 CROS 는 이 블로그로 조금 이해를 얻었다. 요청시 Origin 에 요청 url 이 들어가고 응답해주는 응답에서는 Access Control Allow Origin 에는 요청을 허용해주는 url 이 들어가야 한다. 프론트에서 soobindeveloper8.tistory.com Cors 핵심용어 Origin Origin은 요청이 시작된 서버..