Tech/Spring & Jpa8 애너테이션과 스프링 애너테이션 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 애너테이션(Annotation) 애너테이션(Annotation) 주석처럼 프로그램에 영향을 미치지 않으면서, 유용한 정보를 제공하며, 프로그램에게 추가적인 정보를 제공하는 메타데이터이다. 동작 애너테이션을 정의하고, 애너테이션을 원하는 위치에 배치하면, 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를 획득하여 기능을 수행한다. Reflection 구체적인 클래스 타입을 알지 못해도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API이다. 런타임에 지금 실행되고 있는 클래스를 가져와서 실행해야하는 경우, 동적으로 객체를 생성하고 메서드를 호출한다. Annotation 자체는 아무런 동작을 가지지 않는 단순한 표식.. 2023. 1. 18. 싱글톤과 스프링 싱글톤 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 싱글톤(Singleton) public class Person { private static Person instance; private Person() { throw new IllegalStateException("Private Constructor"); } public static Person getInstance() { if (instance == null) { instance = new Person(); } return instance; } } } public class Singleton { private Singleton(){} public static Singleton getInstance() { return LazyHolder.INSTA.. 2023. 1. 18. 스프링 컨테이너와 빈 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 스프링 컨테이너(Spring Container) 스프링 프레임워크에서 지원하는 스프링 컨테이너(Spring Container)는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 📌 빈(Bean) 스프링 컨테이너가 관리하는 자바 객체를 말하며, 스프링 컨테이너를 통해 빈을 등록 및 사용할 수 있다. Bean 애너테이션을 사용해 등록하거나 xml을 사용해 빈을 등록한다. 빈의 생명주기 스프링 컨테이너의 생성 -> 스프링 빈 생성 -> 의존 관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백 -> 스프링 종료 순으로 스프링 컨테이너에 의해 빈의 생명주기가 관리된다. 스프링 컨테이너 초기화 시 빈 객.. 2023. 1. 10. IoC (Inverse of Control) 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 IoC(Inversion Of Control) 개발자가 작성한 객체나 메서드의 제어를 개발자가 아닌 외부(프레임워크)에 위임하는 설계 원칙을 말한다. 📌 모의 면접 IoC가 무엇인가요? 개발자가 작성한 객체나 메서드의 제어를 개발자가 아닌 프레임워크에 위임하는 설계 원칙을 말합니다. 애플리케이션의 제어 책임이 개발자에서 프레임워크로 위임되므로 개발자는 핵심 비즈니스 로직에 좀 더 집중할 수 있다는 장점이 있습니다. IoC 원칙을 실현하기 위해 DI 디자인 패턴을 사용하며, 객체간의 결합을 느슨하게 만들어 유연하고 확장성 뛰어난 코드를 작성할 수 있습니다. DI가 무엇인가요?(+⍺) DI(링크) 2023. 1. 5. 이전 1 2 다음