목차
스프링
→ Legacy (4)
→ boot (6) : 요즘 나온 기술
▶ 기본 세팅
Window -> Preferences -> General -> Appearance ->
Window -> Preferences -> General -> Appearance -> Web Browswer -> Chrome
1. Spring
❥ p.3
- EJB : Enterprise Java Bean
- OSS : Open Source
❥ p.5
IOC (Inversion Of Control) 안에 DI
1) Setter를 통한 주입 방식
[File] - [New] - [Maven Project]
och01_di01
> sam01
> sam02
➡ MessageBean.java : 인터페이스
➡ MessageBeanEn.java, MessageBeanKo.java : MessageBean을 상속받아서 하게
> sam03
2) Constructor : 생성자 방식 통한 주입
➡ EX03.java - getBean : bean 이름 작성, DI 호출 객체
// DI 호출 객체
ApplicationContext ac = new ClassPathXmlApplicationContext("bean03.xml"); // xml 파일명 작성
MessageBean mb = (MessageBean) ac.getBean("mb3"); // bean id명 작성
❥ context : 환경과 프로그램 사이 주고 받는. (협의의 관점)
❥ classpath : resource
❥ DI (Dependency Injection): 문서를 갖고. 외부에서 의존성 주입
> sam05
✔ MessageBean.java & MessageBeanImpl.java
✔ EX05.java & bean05.xml
[src/main/resources] - [New] - [Spring Bean Configuration File]
❥ 생성자 방식 ➝ constructor
❥ setter 방식 ➝ property
> sam06
✔ vehicle.java & VehicleImpl.java
✔ Ex06.java & bean06.xml
> sam07 (여기서부터!)
✔ MessageBean.java & Outputter.java
➡ MessageBean.java & Outputter.java : 인터페이스
✔ HelloApp.java & FileOutputter.java & bean07.xml
➡ HelloApp.java : mb7
➡ FileOutputter.java : Outputter.java Implement 하기
➡ bean07.xml : Outputter 객체 call by reference <ref bean=" "> </ref>
🌟🌟 DI에서 객체를 선언해 줄 때, 주소를 넘겨줘야 하므로 레퍼런스로 선언해줘야함
✔ MessageBeanImpl.java
➡ Outputter - 객체 선언 시 reference로 선언 (call by reference)
➡ Outputter.output 메소드
➡ sayHello() : 인자 3개 (name, greet, outputter)
och03_di03
> DI01
✔ Calculator.java & MyCalCulator.java
✔ MainClass01.java
String configLocation = "classpath:applicationCTX01.xml";
AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation);
MyCalculator myCalculator = ctx.getBean("myCalulator", MyCalculator.class);
➞ xml DI 관련 객체. 이 2개만 알고 있으면 된다
(AbstractXmlApplicationContext & ClassPathXmlApplicationContext)
✔ applicationCTX01.xml
➤ classic.ver
> DI02
✔ BMICalculator.java & MyInfo.java
✔ MainClass02.java
✔ applicationCTX02.xml
1) ArrayLIst로 값을 세팅할 때
<property name = "hobbies">
<list>
<value>바둑</value>
<value>낚시</value>
<value>대화</value>
</list>
</property>
2) 객체 참조해서 넣는 방법
<property name="bmiCalculator">
<ref bean="bmiCalculator"/>
</property>
[Spring] DI, IoC 정리
DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로,객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다.DI(의존성 주입)
velog.io
ORM = DB
'KDT > TIL' 카테고리의 다른 글
2022-10-19 (수) - 미완 (0) | 2022.10.23 |
---|---|
2022-10-18 (화) - 미완 (0) | 2022.10.23 |
20220831, 20220901 (Wed, Thu) (0) | 2022.09.06 |
20220822-20220901 (0) | 2022.09.01 |
2022-08-18 (Thu) (0) | 2022.08.22 |