Back-End/Spring

[Spring] Java 코드를 이용하여 의존관계를 설정하는 방법_애노테이션 방식

찐코딩 2021. 12. 13. 15:27

DI 설정 시 java 코드에서 애노테이션을 설정하여 주입하는 방법

- 설정 시에 cglib 라이브러리가 반드시 필요함
==> pom.xml 파일에 라이브러리를 추가해주어야 함

@Configuration, @Bean 애노테이션 사용함

 

@Configuration

  • 클래스 앞에 선언하는 애노테이션
  • 스프링 설정 클래스를 선언하는 애노테이션
  • "해당 클래스는 스프링 설정에 사용되는 클래스 입니다."라고 알려주는 애노테이션

@Bean

  • 메서드 앞에 사용되는 애노테이션
  • bean을 정의하는 애노테이션
  • "해당 메서드는 객체를 생성하는데 사용"된다는 의미

 

애노테이션의 역할

  • 컴파일러에게 정보를 알려주는 역할
  • 컴파일 할 때와 설치 시의 작업을 지정하는 역할
  • 실행할 때에 별도의 처리가 필요한 경우 사용되는 역할

 

먼저, cglib를 다운로드

https://mvnrepository.com/

 

1. 검색창에 cglib 검색

 

2. 2.2.2 버전 클릭

 

3. 코드 복사

4. pom.xml에 코드 붙여넣기

 

namespace탭에서

context 태그 선택

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:c="http://www.springframework.org/schema/c"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

	<!-- 
		<context:annotation-config> 태그는 특정 패키지 안에 있는 클래스 중에서
		@Configuration, @Bean, @Autowired, @Resource 애노테이션이 존재하면
		해당 애노테이션을 인식할 수 있도록 만들어주는 태그	
	 -->
	 
	 <context:annotation-config>
	 
	 <bean class="com.sist.di10.Config"/>
	 <bean id="player3" class="com.sist.di10.Player"
	 	c:name="양현종"
	 	c:age="32"
	 	c:position="지명타자"
	 	p:weight=""
	 	p:height=""	 
	 >	 
	 </bean>
	 
	 </context:annotation-config>
</beans>