๋ฐ์ํ
โป ์ด์ ํธ : 2025.01.06 - [๐ Spring/๐ Spring Boot] - [SpringBoot]์คํ๋ง ๋น ๋ฑ๋ก:1.์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์
์๋ฐ์ฝ๋๋ฅผ ์ ์ด ์คํ๋ง ๋น์ ๋ฑ๋กํด๋ณด์.
- ์๋น์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ์ @Service @Repository @Autowired ์ด๋
ธํ
์ด์
์ ๋ชจ๋ ์ง์์ค๋ค.
- main์ SpringConfigํด๋์ค๋ฅผ ๋ง๋ ๋ค.
- SpringConfig ์ฝ๋
- @Configuration ์ด๋
ธํ
์ด์
์ ํด๋์ค ์์ ์ ๋๋ค.
- @Bean ์ด๋ ธํ ์ด์ ์ ์๋น์ค์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ์๋์ ์ ์ด์ค๋ค.
- @Configuration ์ด๋
ธํ
์ด์
์ ํด๋์ค ์์ ์ ๋๋ค.
์ปจํธ๋กค๋ฌ๋ ๊ทธ๋๋ก ์ด๋ ธํ ์ด์ @Controller์ @Autowired๊ฐ ํ์ํ๋ค.
config ์ ์ฒด์ฝ๋
๋๋ณด๊ธฐ
package hello.hellospring;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import hello.hellospring.service.MemberService;
@Configuration
public class SpringConfig {
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}
DI
์์กด์ฑ ์ฃผ์
์ธ๊ฐ์ง ๋ฐฉ๋ฒ
- ์์ฑ์ ์ฃผ์
๐ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ - ํ๋ ์ฃผ์
โป ๋ณ๋ก ์ข์ ๋ฐฉ๋ฒ์ ์๋๋ค. - ์ธํฐ ์ฃผ์
โป public์ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ณณ์์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ ๋จ์ ์ด ์๋ค.
โป ์ฐธ์กฐ : https://www.inflearn.com/roadmaps/373
๋ฐ์ํ
'๐ Spring > ๐ Spring Boot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SpringBoot][Gradle]DB์ ๊ทผ๊ธฐ์ -์์JDBC (0) | 2025.01.08 |
---|---|
[SpringBoot][Thymeleaf]ํ์๊ด๋ฆฌ-์น MVC๊ฐ๋ฐ (0) | 2025.01.07 |
[SpringBoot]์คํ๋ง ๋น ๋ฑ๋ก:1.์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์์กด๊ด๊ณ ์ค์ (0) | 2025.01.06 |
[SpringBoot][JUnit]ํ์๊ด๋ฆฌ-์๋น์ค์ ํ ์คํธ (2) | 2025.01.05 |
[SpringBoot][JUnit]ํ์๊ด๋ฆฌ-๋๋ฉ์ธ๊ณผ ๋ฆฌํฌ์งํ ๋ฆฌ ๊ทธ๋ฆฌ๊ณ ํ ์คํธ (0) | 2025.01.04 |