기술 창고/어노테이션 창고(11)
-
@Qualifier
@Qualifier Component 로 지정하고 ComponentScan을 통해 Bean 객체들을 생성하고 호출할 때 만약 동일한 객체들이 전부 Component 로 선언되어있다면 에러가 발생합니다. 호출할 때 반드시 단일 Component Bean 객체를 받아와야하기 때문이죠. 그래서 Qualifier는 호출하고자 하는 Component Bean 객체를 특정지어 고정적으로 호출할 수 있게끔 해줍니다. @Component @Qualifier("mario") // Qualifier 를 통해 특정지어 component 호출 가능. 하지만 반드시 primary 어노테이션이 존재하는 객체가 존재해야 한다. public class MarioGame implements GamingConsole{ ~ 로직 ~ } ..
2023.05.30 -
@ComponentScan
@ComponentScan Component로 지정된 Bean 객체를 찾기위한 어노테이션으로 Bean 객체를 찾아 자동으로 생성하고 관리해주는 어노테이션입니다. @Configuration @ComponentScan // Component로 선언된 객체가 있는 경로로 가서 해당 객체를 자동으로 Bean 객체 생성 주입 public class GamingAppLauncherApplication { public static void main(String[] args) { try (var context = new AnnotationConfigApplicationContext(GamingAppLauncherApplication.class)) { context.getBean(GamingConsole.class).u..
2023.05.30 -
@Component
@Component 클래스의 인스턴스를 Spring 프레임워크에서 관리하도록 Bean 객체로 지정하는 어노테이션. 클래스 단에 적용시키며, @ComponentScan을 통해 Spring Bean 이 생성되고 관리되게 됩니다. @Component // Component 적용 및 Bean 등록 public class SuperContraGame implements GamingConsole{ ~ 로직 ~ }
2023.05.30 -
@Bean
@Bean Bean 객체로 등록시켜줄 수 있도록 지정하는 어노테이션 입니다. Bean 객체라는 것은 겍체들을 개발자가 직접 관리하는 것이 아닌 Spring에서 자체적으로 관리되는 객체들을 말합니다. 주로 @Configuration 어노테이션과 함께 사용됩니다. 메소드에 적용하여 사용됩니다. @Configuration public class GamingAppLauncherApplication { @Bean // Bean 객체 등록 public MarioGame mariogame(){ return new MarioGame(); } }
2022.12.23 -
@Configuration
@Configuration 설정 클래스임을 지정해주는 어노테이션 입니다. 해당 어노테이션을 지정해주고 @Bean 어노테이션을 메소드에 명시함으로서 Bean 객체(메소드)를 생성하고 관리될 수 있게끔 해줍니다. @Configuration // 설정 클래스 지정 public class GamingAppLauncher { @Bean // Bean 객체 등록 public MarioGame mariogame(){ return new MarioGame(); } }
2022.12.23