Spring Boot 14

Spring Boot - PSA

PSA란 Spring의 핵심 개념 3가지중 PSA는 해석하면 휴대용 서비스 추상화란 뜻입니다. 뜻을 들으시고 바로 어떤 뉘앙스인지 이해가 되시는 분들도 있겠지만 저는 처음에 이해가 가지않아 제 나름대로 뜻을 의역해본 것이 "추상화를 통해 내용을 몰라도 사용할수있게 하는 기술"입니다. 많이 사용하는 어노테이션들이 어떻게 구현되어있고 어떤 방식으로 동작하는지 아는 사람은 적을 것입니다. 하지만 구현방법이나 동작과정을 몰라도 저희는 사용할 수 있습니다. 이것이 서비스의 추상화입니다. 서비스의 추상화란 어떤 서비스의 내용을 몰라도 사용가능하게 한것을 말합니다. ​ 이제 Spring에서 이 개념이 어떻게 사용되는지 알아보겠습니다. 이 글을 읽으시는 분들중에 다른 블로그에서 설명한 글을 읽고 오신 분이라면 tran..

Spring Boot 2023.07.28

Spring Boot - AOP

AOP란 관점지향프로그래밍을 제가 이해한 것은 "기능과 목적에 따라 구분해서 처리하는 것" 입니다. 예를들어 어떤 서비스를 개발하고 서비스에 포함된 특정 메서드들의 실행 시간으로 서버의 상태를 모니터링 하고 싶다면 메서드에 실행시간을 측정하는 기능을 넣어야 합니다. 위 처럼 개발을 한 뒤 다른 서비스에도 시간을 측정하는 code를 추가해야 한다면 또, 메서드에 위 기능을 모두 추가해야 합니다. 이 처럼 반복적인 부분을 계속해서 수정, 추가하는 것은 비효율적입니다. AOP는 부가적인 기능과 핵샘기능을 분리해주는 역할을 합니다. 부가적인 기능을 한곳에 모아 관리하고 적용되는 시점과 적용대상만 구분해서 사용할 수 있게 해주는 것입니다. AOP용어 Aspect : 부가적인 기능을 구현하는 곳. Target : ..

Spring Boot 2023.07.24

Spring Boot 중요 개념-IoC,DI

Spring의 핵심 3가지를 Spring Triangle이라고 부릅니다. IOC,DI & PSA & AOP입니다. 그 중 IoC,DI부터 알아보겠습니다. IoC(제어의 역전) 일반적으로 인스턴스를 생성하기 위해서는 Class를 정의하고 new연산자를 통해 인스턴스를 생성합니다. 이런 방식을 제어권이 프로그래머(개발자)에게 있다고 표현합니다. 위의 코드를 보시면 MovieService라는 Class에서 MovieRepository,UserRepository라는 Class를 사용한다는 것을 알 수 있습니다. 하지만 인스턴스를 생성하지 않았습니다. 인스턴스를 생성하지 않았으니 MovieRepository,UserRepository라는 Class를 사용하지 못할 것같지만 addMovie 메서드에서는 UserRe..

Spring Boot 2023.07.21

Spring Boot 들어가기전에

오늘부터 백엔드 서버 개발자가 되기위해 공부한 내용들을 정리해보겠다. 기록용으로 작성하는것도 있지만 누군가 이글을 보고 도움이 되었으면하는 마음도 있으니 열심히 해보겠다 우선 백엔드 개발자가 되려는 사람들의 필수 언어인 JAVA와 필수 프레임워크 Spring Boot에 대한 공부를 처음하는 것은 아니지만 기초가 가장 중요하니 다시 복습하는 생각으로 처음부터 작성하겠다. 지식적인 말을 하기전에 내가 생각하는 개발자는 평생 공부를 하고 발전하는 사람들을 말하는 것 같다 물론 모든 직업이 공부를 하는 것은 똑같겠지만 개발자라는 직업은 IT기술의 발전을 직접 맞딱뜨리는 직업이기때문에 변화가 정말 많은 직업인 것 같다. 이 말을 하는 이유는 나에게 말하는 다짐이다 개발자를 꿈꾼다면 게이르면 안된다. 항상 치열하게..

Spring Boot 2023.07.21