์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- php
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์๋ฃจ์
- Flutter
- C
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- php ํ๋ก๊ทธ๋๋ฐ
- ์ต๋จ ๊ฒฝ๋ก
- spring
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์์
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ๋ฌธ์ ํ์ด
- ํ์ด์ฝ ์ด๋์ฝ๋
- ์๋ฐ
- ํ์ด์ฝ ์น๊ตฌ์ฝ๋
- ํ์ ๋ถ๊ธฐ
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์ฐ์ต๋ฌธ์
- ํ๋ฌํฐ ๊ฐ๋ฐํ๊ฒฝ ์ค์
- ๋ฐฑ์ค
- Java
- programmers
- ํ๋ฌํฐ
- ๋ฐฐ์ด
- ํ์ด์ฝ ์ถ์ฒ์ธ์ฝ๋
- SWEA
- JAVA SPRING
- ์คํ๋ง
- ํ์ด์ฝ ์ถ์ฒ์ธ
- C์ธ์ด
- ํ์ด์ฌ
- ์๋ฐ ์คํ๋ง
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ 3ํ
- Today
- Total
๋ชฉ๋กspring (67)
์ฌ๋ฅ์ด๐ป
์ปจํธ๋กค๋ฌ๋ก๋ถํฐ ๋ฐ์์จ ๊ฐ์ ํ๋ก์ ํธ ๋ด์ ์ด๋ค ํด๋์ค๋ ์ฌ์ฉํ๋ ค๋ฉด, ๊ฐ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํฉ๋๋ค. ์ด์ ๋ํ ์์๋ฅผ ๋ช ๊ฐ์ง ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. 1. ๋ณ์์ ์ ์ฅํ๊ธฐ public class MyController { public void handleRequest(String data) { // ๋ฐ์ดํฐ๋ฅผ ๋ณ์์ ์ ์ฅ String myData = data; // ๋ค๋ฅธ ํด๋์ค์์ ๋ณ์ ์ฌ์ฉ MyService myService = new MyService(); myService.processData(myData); } } public class MyService { public void processData(String data) { // ๋ณ์ ์ฌ์ฉ System.out.println("Data received:..
[Java Spring] 2-50. ์๋, ์๋์ ์ฌ๋ฐ๋ฅธ ์ค๋ฌด ์ด์ ๊ธฐ์ค ํธ๋ฆฌํ ์๋ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ์ ๊ทธ๋ฌ๋ฉด ์ด๋ค ๊ฒฝ์ฐ์ ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์๋ ์ฃผ์ ์ ์ฌ์ฉํ๊ณ , ์ด๋ค ๊ฒฝ์ฐ์ ์ค์ ์ ๋ณด๋ฅผ ํตํด์ ์๋์ผ๋ก ๋น์ ๋ฑ๋กํ๊ณ , ์์กด๊ด๊ณ๋ ์๋์ผ๋ก ์ฃผ์ ํด์ผ ํ ๊น? ๊ฒฐ๋ก ๋ถํฐ ์ด์ผ๊ธฐํ๋ฉด, ์คํ๋ง์ด ๋์ค๊ณ ์๊ฐ์ด ๊ฐ ์๋ก ์ ์ ์๋์ ์ ํธํ๋ ์ถ์ธ๋ค. ์คํ๋ง์ @Component ๋ฟ๋ง ์๋๋ผ @Controller , @Service , @Repository ์ฒ๋ผ ๊ณ์ธต์ ๋ง์ถ์ด ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์๋์ผ๋ก ์ค์บํ ์ ์๋๋ก ์ง์ํ๋ค. ๊ฑฐ๊ธฐ์ ๋ํด์ ์ต๊ทผ ์คํ๋ง ๋ถํธ๋ ์ปดํฌ๋ํธ ์ค์บ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๊ณ , ์คํ๋ง ๋ถํธ์ ๋ค์ํ ์คํ๋ง ๋น๋ค๋ ์กฐ๊ฑด์ด ๋ง์ผ๋ฉด ์๋์ผ๋ก ๋ฑ๋กํ๋๋ก ์ค๊ณํ๋ค. ์ค์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ..
[Java Spring] 2-49. ์กฐํํ ๋น์ด ๋ชจ๋ ํ์ํ ๋, List, Map ์๋์ ์ผ๋ก ์ ๋ง ํด๋น ํ์ ์ ์คํ๋ง ๋น์ด ๋ค ํ์ํ ๊ฒฝ์ฐ๋ ์๋ค. ์๋ฅผ ๋ค์ด์ ํ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ฐ, ํด๋ผ์ด์ธํธ๊ฐ ํ ์ธ์ ์ข ๋ฅ(rate, fix)๋ฅผ ์ ํํ ์ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์คํ๋ง์ ์ฌ์ฉํ๋ฉด ์์ ๋งํ๋ ์ ๋ต ํจํด์ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ๊ตฌํํ ์ ์๋ค. ์ฝ๋๋ก ๋ฐ๋ก ์ค๋ช ํ๊ฒ ๋ค. package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.assertj.cor..
[Java Spring] 2-48. ์ ๋ ธํ ์ด์ ์ง์ ๋ง๋ค๊ธฐ @Qualifier("mainDiscountPolicy") ์ด๋ ๊ฒ ๋ฌธ์๋ฅผ ์ ์ผ๋ฉด ์ปดํ์ผ์ ํ์ ์ฒดํฌ๊ฐ ์๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ ๋ ธํ ์ด์ ์ ๋ง๋ค์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. package hello.core.annotataion; import org.springframework.beans.factory.annotation.Qualifier; import java.lang.annotation.*; @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolic..
[Java Spring] 2-47. @Autowired ํ๋ ๋ช , @Qualifier, @Primary ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ๋์ฉ ์์๋ณด์. ์กฐํ ๋์ ๋น์ด 2๊ฐ ์ด์์ผ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ @Autowired ํ๋ ๋ช ๋งค์นญ @Qualifier -> @Qualifier๋ผ๋ฆฌ ๋งค์นญ -> ๋น ์ด๋ฆ ๋งค์นญ @Primary ์ฌ์ฉ @Autowired ํ๋ ๋ช ๋งค์นญ @Autowired ๋ ํ์ ๋งค์นญ์ ์๋ํ๊ณ , ์ด๋ ์ฌ๋ฌ ๋น์ด ์์ผ๋ฉด ํ๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ผ๋ก ๋น ์ด๋ฆ์ ์ถ๊ฐ ๋งค์นญํ๋ค. ๊ธฐ์กด ์ฝ๋ @Autowired private DiscountPolicy discountPolicy ํ๋ ๋ช ์ ๋น ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ @Autowired private DiscountPolicy rateDiscountPolicy ํ๋ ๋ช ์ด rateDis..
[Java Spring] 2-46. ์กฐํ ๋น์ด 2๊ฐ ์ด์ - ๋ฌธ์ @Autowired ๋ ํ์ (Type)์ผ๋ก ์กฐํํ๋ค. @Autowired private DiscountPolicy discountPolicy ํ์ ์ผ๋ก ์กฐํํ๊ธฐ ๋๋ฌธ์, ๋ง์น ๋ค์ ์ฝ๋์ ์ ์ฌํ๊ฒ ๋์ํ๋ค. (์ค์ ๋ก๋ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.) ac.getBean(DiscountPolicy.class) ์คํ๋ง ๋น ์กฐํ์์ ํ์ตํ๋ฏ์ด ํ์ ์ผ๋ก ์กฐํํ๋ฉด ์ ํ๋ ๋น์ด 2๊ฐ ์ด์์ผ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. DiscountPolicy ์ ํ์ ํ์ ์ธ FixDiscountPolicy , RateDiscountPolicy ๋๋ค ์คํ๋ง ๋น์ผ๋ก ์ ์ธํด๋ณด์. @Component public class FixDiscountPolicy implements Disc..
[Java Spring] 2-45. ๋กฌ๋ณต๊ณผ ์ต์ ํธ๋๋ ๋ง์ ๊ฐ๋ฐ์ ํด๋ณด๋ฉด, ๋๋ถ๋ถ์ด ๋ค ๋ถ๋ณ์ด๊ณ , ๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ด ํ๋์ final ํค์๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์์ฑ์๋ ๋ง๋ค์ด์ผ ํ๊ณ , ์ฃผ์ ๋ฐ์ ๊ฐ์ ๋์ ํ๋ ์ฝ๋๋ ๋ง๋ค์ด์ผ ํ๊ณ … ํ๋ ์ฃผ์ ์ฒ๋ผ ์ข ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๊น? ์ญ์ ๊ฐ๋ฐ์๋ ๊ท์ฐฎ์ ๊ฒ์ ๋ชป ์ฐธ๋๋ค! ๋ค์ ๊ธฐ๋ณธ ์ฝ๋๋ฅผ ์ต์ ํํด๋ณด์. ๊ธฐ๋ณธ ์ฝ๋ @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderSer..
[Java Spring] 2-44. ์์ฑ์ ์ฃผ์ ์ ์ ํํด๋ผ! ๊ณผ๊ฑฐ์๋ ์์ ์ ์ฃผ์ ๊ณผ ํ๋ ์ฃผ์ ์ ๋ง์ด ์ฌ์ฉํ์ง๋ง, ์ต๊ทผ์๋ ์คํ๋ง์ ํฌํจํ DI ํ๋ ์์ํฌ ๋๋ถ๋ถ์ด ์์ฑ์ ์ฃผ์ ์ ๊ถ์ฅํ๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค. ๋ถ๋ณ ๋๋ถ๋ถ์ ์์กด๊ด๊ณ ์ฃผ์ ์ ํ๋ฒ ์ผ์ด๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ์์ ๊น์ง ์์กด๊ด๊ณ๋ฅผ ๋ณ๊ฒฝํ ์ผ์ด ์๋ค. ์คํ๋ ค ๋๋ถ๋ถ์ ์์กด๊ด๊ณ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ์ ๊น์ง ๋ณํ๋ฉด ์๋๋ค.(๋ถ๋ณํด์ผ ํ๋ค.) ์์ ์ ์ฃผ์ ์ ์ฌ์ฉํ๋ฉด, setXxx ๋ฉ์๋๋ฅผ public์ผ๋ก ์ด์ด๋์ด์ผ ํ๋ค. ๋๊ตฐ๊ฐ ์ค์๋ก ๋ณ๊ฒฝํ ์ ๋ ์๊ณ , ๋ณ๊ฒฝํ๋ฉด ์๋๋ ๋ฉ์๋๋ฅผ ์ด์ด๋๋ ๊ฒ์ ์ข์ ์ค๊ณ ๋ฐฉ๋ฒ์ด ์๋๋ค. ์์ฑ์ ์ฃผ์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๋ฑ 1๋ฒ๋ง ํธ์ถ๋๋ฏ๋ก ์ดํ์ ํธ์ถ๋๋ ์ผ์ด ์๋ค. ๋ฐ๋ผ์ ๋ถ๋ณํ๊ฒ ์ค๊ณํ ์ ์๋ค. ๋๋ฝ ํ๋ ์์..
[Java Spring] 2-43. ์ต์ ์ฒ๋ฆฌ ์ฃผ์ ํ ์คํ๋ง ๋น์ด ์์ด๋ ๋์ํด์ผ ํ ๋๊ฐ ์๋ค. ๊ทธ๋ฐ๋ฐ @Autowired ๋ง ์ฌ์ฉํ๋ฉด required ์ต์ ์ ๊ธฐ๋ณธ๊ฐ์ด true ๋ก ๋์ด ์์ด์ ์๋ ์ฃผ์ ๋์์ด ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์๋ ์ฃผ์ ๋์์ ์ต์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. @Autowired(required=false) : ์๋ ์ฃผ์ ํ ๋์์ด ์์ผ๋ฉด ์์ ์ ๋ฉ์๋ ์์ฒด๊ฐ ํธ์ถ ์๋จ org.springframework.lang.@Nullable : ์๋ ์ฃผ์ ํ ๋์์ด ์์ผ๋ฉด null์ด ์ ๋ ฅ๋๋ค. Optional : ์๋ ์ฃผ์ ํ ๋์์ด ์์ผ๋ฉด Optional.empty ๊ฐ ์ ๋ ฅ๋๋ค. ์์ ๋ก ํ์ธํด๋ณด์. package hello.core.autowired; import hello.core..
[Java Spring] 2-42. ๋ค์ํ ์์กด๊ด๊ณ ์ฃผ์ ๋ฐฉ๋ฒ 1. ์์กด๊ด๊ณ ์ฃผ์ ์ ํฌ๊ฒ 4๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ์์ฑ์ ์ฃผ์ ์์ ์ ์ฃผ์ (setter ์ฃผ์ ) ํ๋ ์ฃผ์ ์ผ๋ฐ ๋ฉ์๋ ์ฃผ์ 2. ์์ฑ์ ์ฃผ์ ์ด๋ฆ ๊ทธ๋๋ก ์์ฑ์๋ฅผ ํตํด์ ์์กด ๊ด๊ณ๋ฅผ ์ฃผ์ ๋ฐ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ์งํํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์์ฑ์ ์ฃผ์ ์ด๋ค. ํน์ง ์์ฑ์ ํธ์ถ์์ ์ ๋ฑ 1๋ฒ๋ง ํธ์ถ๋๋ ๊ฒ์ด ๋ณด์ฅ๋๋ค. ๋ถ๋ณ, ํ์ ์์กด๊ด๊ณ์ ์ฌ์ฉ @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowire..