스프링 핵심 기술-02.@Autowire

IoC 컨테이너 3부 : @Autowire

이번 장도 마찬가지로 이전 포스트와 겹치는 내용들이 많았지만,
중간중간 에러 사례를 보여주며 자세한 옵션들 등 도움이 되는 추가 정보들이 있었던 것 같다.
자세한 설명은 이전 포스트를 참고하면 될 것 같다.

Continue reading

Spring Triangle-03.스프링 PSA

스프링 PSA

PSA?

우선 참고 문서를 보면

PSA(Portable Service Abstraction)란 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하려는 추상화 구조를 말한다. 이는 POJO 원칙을 철저히 따른 Spring 의 기능으로 Spring 에서 동작할 수 있는 Library 들은 POJO 원칙을 지키게끔 PSA 형태의 추상화가 되어있음을 의미한다.  가령 일반적인 JUnit이나 Mybatis 등의 여러 Java Framework 에서 사용가능한 라이브러리들은 Spring 에서 지원하는 JUnit 이나 MyBatis 라이브러리와 다르다. 또한 JPA를 사용할 때에 있어서도 Spring JPA가 추상화 시켜준다.
따라서 개발자가 Hibernate를 사용하건 EclipseLink 를 사용하건 신경쓸 필요가 없다.
따라서 이러한 외부 라이브러리들은 Spring에서 사용할 때 내부구현이 달라지더라도 동일한 인터페이스로 동일한 구동이 가능하게끔 설계되어 있으며 의존성을 고려할 필요가 없다.
Spring 은 이렇듯 특정 기술에 직접적 영향을 받지 않게끔 객체를 POJO 기반으로 한번씩 더 추상화한 Layer 를 갖고 있으며 이를통해 일관성있는 서비스 추상화를 구현한다.

그냥 쉽게 말하면 잘 만든 인터페이스로 이해하면 될 것 같다.
스프링의 철학처럼, 비침투성, POJO 등..
내가 어떤 코드를 짰는데, 그게 JPA를 쓰던, MyBatis 쓰던 코드의 변경이 없어도 된다. 어떤 특정 기술에 특화된 코드가 아니다.
(잘 만든 인터페이스를 사용하기 때문에)

Continue reading

Spring Triangle-01.스프링 IoC

시작

본격적인 로드맵 시작으로 예제로 배우는 스프링 입문(개정판)을 스타트했다.
대충은 아는 개념들이긴 했지만, 예제 특히 코드로써 직접 구현해보기도 하고,
그냥 매번 쓰는 방식대로 사용만 해오다가 명확하게 어떤 방식으로 구현되는지, 동작 원리나 라이프사이클 그리고 다른 구현 방식들에 대해서도 알게되었다.
추가적으로 기존에 명확히 정리되지 않던 개념들은 찾아보고 정리하면서 더 좋은 공부가 된 것 같다.

Continue reading

스프링 공식 예제 프로젝트 PetClinic

들어가며

스프링을 활용 웹 개발을 주로 하긴 하지만..
단순 구현이 아니라, 자세한 동작 원리부터 시작해서 깊게 한번 공부를 해 보고 싶다는 생각이 들었다.
(사실 입사하자마자 난 인정받는 에이스 개발자가 될거야! 하며 뿜뿜 열심히 그때 당시 도움이 될만한 공부들을 했는데,
기록하지 않고 혼자 공부하니 까먹는 것들이 생기더라.. 나중에 내가 정리한 걸 찾아보기도 어렵고..
또 대학시절 블로그를 운영하며, 정리하며 하게 되는 공부의 중요성, + 기타 나중에 찾아볼때 등 장점을 알고 있기 때문에
물론 그냥 공부한 하는것보단 훨씬 많은 시간이 소요될 테지만, 내 시간을 좀 더 추가해서 깊고, 오래가는 공부를 꾸준히 하려고 한다.
스프링 뿐만 아니라 꾸준히 계속해서 다른 분야까지도..

Continue reading

[Java]OOP 및 Interface

OOP?

객체지향 프로그래밍(Object Oriented Programming)은 컴퓨터 프로그래밍 패러다임중 하나.
프로그래밍에서 필요한 데이터들 = 상태(변수)/행위(메서드)를 추상화 시켜 정의해 놓고 실제 상태와 행위를 가진 객체를 만들고 그 객체들간의 유기적인 상호작용을 통해 로직을 구성하는 방법

Continue reading

Pagination


© 2019. by jaeuk