Back-End/Spring
[Spring] Java 코드를 이용하여 의존관계를 설정하는 방법_애노테이션 방식
찐코딩
2021. 12. 13. 15:27
DI 설정 시 java 코드에서 애노테이션을 설정하여 주입하는 방법
- 설정 시에 cglib 라이브러리가 반드시 필요함
==> pom.xml 파일에 라이브러리를 추가해주어야 함
@Configuration, @Bean 애노테이션 사용함
@Configuration
- 클래스 앞에 선언하는 애노테이션
- 스프링 설정 클래스를 선언하는 애노테이션
- "해당 클래스는 스프링 설정에 사용되는 클래스 입니다."라고 알려주는 애노테이션
@Bean
- 메서드 앞에 사용되는 애노테이션
- bean을 정의하는 애노테이션
- "해당 메서드는 객체를 생성하는데 사용"된다는 의미
애노테이션의 역할
- 컴파일러에게 정보를 알려주는 역할
- 컴파일 할 때와 설치 시의 작업을 지정하는 역할
- 실행할 때에 별도의 처리가 필요한 경우 사용되는 역할
먼저, cglib를 다운로드
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>