공부하다죽어라
article thumbnail
[Spring] Properties 파일 분리
개발/Spring 2021. 8. 2. 13:08

실제 운영서버와 설정파일을 다르게 하기위해 분리작업을 진행합니다. 다음과 같이 나눴습니다. application-{profiles}.yml 입니다. local = 로컬 작업 환경 prod = 운영 환경 applicaiton.yml server: name: curation-service port: 9000 servlet: context-path: /curation --- spring: profiles: active: prod # 운영 --- spring: profiles: active: local # 개발 --- 1. 그냥 실행시켰을 경우 자동으로 local로 잡아줍니다. 2. 설정 파일 동적 변경 java -jar Dspring.profiles.active=prod jarfile.jar 잘 안보이는데 p..

article thumbnail
[Spring] CORS 설정
개발/Spring 2021. 7. 14. 11:14

CORS CORS ( Cross-origin resource sharing ) 직역하면 교차 출처 리소스 공유 입니다. 말 그대로 서로 다른 도메인으로부터 자원을 공유하는 것입니다. 그런데 서버측에서 아무런 설정을 하지 않게되면 CORS 이슈가 발생합니다. 특정한 도메인 간(cross-domain) 요청, 특히 Ajax 요청은 동일-출처 보안 정책에 의해 기본적으로 금지됩니다. 다음은 CORS의 동작원리입니다. 위 문제를 해결하기 위해 서버측에서는 교차 출처 요청을 허용해줘야 하는데 Spring-boot 환경에서 CORS를 허용해주는 코드를 작성하겠습니다. @Configuration public class WebConfig implements WebMvcConfigurer { @Override publi..

article thumbnail
[Spring Batch] 스프링 배치의 이해
개발/Spring 2021. 6. 23. 15:58

일괄 처리(batch processing) 최종 사용자의 개입 없이 또는 (자원이 허가한다면) 실행을 스케줄링할 수 있는 작업(job)의 실행을 의미한다. 배치를 사용했을 때 얻는 이점 많은 사용자 사이에서 컴퓨터 자원을 공유할 수 있다. 작업 프로세스의 시간대를 컴퓨터 리소스가 덜 사용되는 시간대로 이동한다. 분 단위의 사용자 응답 대기와 더불어 컴퓨터 리소스의 유휴 사용을 피한다. 전반적인 이용률을 높임으로써 컴퓨터의 비용을 더 잘 상환하도록 도와 준다. 일괄 처리 시스템은 일정 기간마다 주기적으로 한꺼번에 처리할 필요가 있고, 그룹별로 분류시킬 수 있는 성질을 가지고 있으며, 순차 접근방법을 사용할 수 있는 업무. 즉, 처리 요건이 일괄적인 업무에 대해 유사한 자료를 한데 모아 일정한 형식으로 분류..

article thumbnail
[Spring] Jar 파일 실행 ( IntelliJ, Maven )
개발/Spring 2021. 6. 12. 14:23

Jar파일로 스프링 프로젝트를 실행시키는 이유는 MSA기반으로 애플리케이션을 설계하고 개발하다보니 IDE를 여러개 띄어야하는 상황이 있어서 노트북에 무리가 많이 갔습니다.. 이를 해결하기 위한 것이 Jar파일로 스프링부트 프로젝트를 실행시키는 것인데 방법을 정리해보겠습니다. 우선 Jar파일을 생성하고자하는 프로젝트를 Open합니다. Maven에 들어가보면 Lifecycle 아래 Intstall이 있는데 이것을 더블클릭하면 인텔리제이가 알아서 뭔가를 만듭니다.. 콘솔창을 보면 빌드가 성공적으로 완료된 모습을 볼 수 있습니다. 다음은 생성된 Jar파일입니다. target 디렉토리 아래 apigateway-service jar파일이 자동으로 생성되었습니다. 이제 cmd를 켜고 위와 같은 명령어를 입력하면 성공..

article thumbnail
[Spring] Eureka Server 환경 설정
개발/Spring 2021. 5. 6. 12:45

Eureka Server 환경을 사용하고자 한다. 1. pom.xml 설정 ... 1.8 2020.0.0 ... org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import 2. application.yml 설정 server: port: 8761 eureka: client: register-with-eureka: false fetch-registry: false 3. Application.java 어노테이션 설정 @SpringBootApplication @EnableEurekaServer ..

article thumbnail
[Spring] Spring Cloud 란 무엇인가
개발/Spring 2021. 5. 3. 22:38

Spring Cloud ? 독립적으로 개발하기 위한 서비스, 즉 마이크로서비스 아키텍쳐를 지원하기위한 프레임워크가 스프링 클라우드이다. 스프링 클라우드를 사용하기 위해서는 스프링부트의 환경이 필수적이다. 스프링 클라우드를 이용해 서비스를 개발하려고 할 때, 어떤 내용이 구축되어야 하는지 알아보겠다. 환경 설정 마이크로서비스가 가지는 환경설정을 SpringCloudConfigServer라는 외부의 저장소에 환경설정을 지정할 수 있다. 이를 사용하면 각각의 마이크로서비스의 내용이 변경된다고 해도 다시 빌드하지 않아도 되고 외부저장소에 있는 환경설정만 바꿔준다면 연결되어있는 마이크로서비스들의 환경설정이 자동으로 변경되어 유지보수가 매우 좋아진다고 볼수있다. 위치 투명성 분산 데이터베이스 시스템에서 사용자가 데..

article thumbnail
[Spring] 스프링 프레임워크 핵심 특징 (DI, IOC, AOP)
개발/Spring 2021. 5. 2. 21:39

스프링은 아마 우리나라 JAVA개발 중에서 가장 많이 사용되는 프레임워크일 것이다. 스프링 프레임워크는 어떤 장점이 있길래 많이 사용되는건지 이번 포스팅을 통해서 알아볼 것이다. 우선 스프링이란 무엇인가 ? 스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. 스프링은 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 나..