반응형
SMALL

SPRING 45

외부 설정 Property

- 스프링에서 설정한건 스프링에서만 주로 쓰이니까.. - 외부에서 작성해 놓은 파일을 스프링에 가져와서 쓰자! - 환경변수나 file에다가 property를 설정해놓는거지 그걸 가져와서 스프링에서 쓰자는거야 - 수정이 용이하다. properties 파일만 수정하면 되니까 ★ Propetry File은 config/db.properties 이런식으로 config 아래에 .properties 확장자로 만들어져있음 ex) jdbc.driver=com.mysql.jdbc.Driver 이런식으로 별칭.필드이름=경로..? ① PropertyPlaceholderConfigurer 이용 - 이 객체를 통해 외부에 존재하는 property file을 load - file의 목록을 location 또는 locations ..

SPRING 2019.03.28

Bean Scope (Bean 유효범위)

- bean 객체를 언제 얼만큼 생성할지 결정 - 스프링 컨테이너는 기본적으로 하나의 bean 설정에 대해 한개의 bean 객체만 만든다! ===> Singleton - 그니까 자바에서는 Car aaa = new Car(); / Car bbb = new Car(); 이러면 aaa랑 bbb가 다른 클래스 였어도 서로 다른걸 참조하고 있는거였잖아 근데 스프링 컨테이너에서는 이렇게하면 두개가 같은걸 참조하고 있는거야 다른게 아니야 왜냐면 bean 하나당 하나의 객체만 만드니까 그저 그 하나를 여러군데에서 공유하고 있는거야 - 의 속성으로 걸거나 - 속성 아무것도 안붙이면 그냥 singleton인거야 - - @Scope 쓰거나 @Scope(value="prototype", ~~) singleton : defau..

SPRING 2019.03.28

DI Java Code

- xml 파일을 자바 클래스로 나타낸 것 - xml 방식의 문제점을 자바 코드 방식이 해결 ★ @Configuration - 클래스명 위에다가 - 이게 붙으면 이 클래스를 bean 설정 정보 파일로 사용할거야~ - 그니까 xml 같은거지~ - 이것도 필요 없음 메인 에서 ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); SpringIdol springIdol = context.getBean("springIdol", SpringIdol.class); SpringIdol.run(); ===> @Configuration을 붙인 클래스가 설정 파일이니까 그 클래스를 파라미터에 넣어줌 ===> 그러면 똑..

SPRING 2019.03.27

DI Annotation

- Spring에서의 annotation 활용 : Dependency Injection (bean wiring) : Bean 탐색 및 등록 : Java code 기반 설정 - annotation을 처리하려면 BeanPostProcessor가 필요 : 번거로운 방법 - BeanPostProcessor 객체를 설정 파일에 bean으로 등록 : 일반적인 방법 - xml 파일에 입력 - annotation은 일종의 인터페이스로 선언되어 있음 ★ @Required - setter 메소드 앞에 사용 - property의 값 또는 의존 객체가 반드시 설정되어야 함 - 설정되지 않으면 BeanInitializationException - 그니까 bean 설정하면서 제대로 주입했나 코드 안빼먹었나 확인할 수 있으니까 좋..

SPRING 2019.03.25

Auto-wiring

에 따로 autowire 속성 쓰면 각 객체마다 auto-wiring 에 default-autowire 속성 쓰면 모든 객체에 한번에 auto-wiring 근데 뭐 이렇게해도 특정한 객체에 따로 걸기도 가능 1. byName- 주입받을 객체(name)와 주입될 객체(ref) 이름이 같으면 그거보고 이름을 기반으로 알아서 주입해라- - 값은 (String song 이런거) 생략 불가능해 무조건 이런식으로 써줘야해 2. byType- - constructor - 자동 설정을 적용하되, (일부)property에 대해 명시적으로 설정- 와 에서 명시적인 설정은 항상 auto-wiring보다 우선 적용됨 byName, byType: 주입 가능한 bean이 없으면 에러는 안나고 주입 안함 byType, constr..

SPRING 2019.03.25

DI XML / SpEL (property 방식)

- Spring Expression Language (SpEL): 값이나 객체를 bean의 property나 생성자 인자로 전달하는 간결한 방법 제공: #{...}: ID를 통해 bean 참조가 가능: Bean의 property를 접근하거나 메소드 호출 가능: 산술, 관계, 논리 연산 지원: 정규식을 이용한 값 매칭: Collection 처리 : #{...} 주로 이 안에 값 자체가 들어감 : 만약 객체가 들어가는거면 #{...} 이 안에 객체가 직접 들어가는게 아니고 ...라는 id를 갖는 객체를 주입하겠다~ 라는 뜻// id가 piano인 객체를 주입하겠다. : 어떤 객체가 가지고 있는 필드를 인자로? 주입하겠다~// kenny가 가지고 있는 song을 주입하겠다.// 주의! 만약 song이 priv..

SPRING 2019.03.19

DI XML / Collection Wiring (property 방식)

- Bean property가 Collection type인 경우- DI 설정 시 collection 객체를 직접 정의하여 주입- 주로 여러개의 객체를 주입할 때 사용! - collection 정의 : 똑같은 원소 2번 이상 가능 : 중복 불가능. 알아서 제거 : name, value- 의 하위 엘리먼트로 사용 ... - collection 원소 정의- 등의 하위 엘리먼트로 사용nang # List Type- xml에서 list인지 set인지 정하고 .java에서는 Collection 써주기- 중복 참조 가능- 클래스에서(.java) 밑의 경우의 타입으로 선언된 경우에만 사용 가능// CollectionCollection instruments;// ListList instruments;// 배열Instr..

SPRING 2019.03.19

DI XML / 의존 관계 설정 2 (property 방식)

# 의존 관계 설정 2 - property 방식 = setter 방식 - setter 메소드 통해 의존 객체 주입- Bean class에 property에 대한 setter 메소드가 정의되어 있어야 함---> 그니까 걍 필드건 뭐건 세터 메소드 정의하라는 뜻- 클래스에(.java) 이 방식이면 생성자는 없어도 되는데 기본 생성자는 있어야 함ex) public Instrumentalist() {}- 필드 정의하고 바로 setter * 효과- 컨테이너는 property로 전달할 의존 객체(B)를 먼저 생성(생성자 방식은 A 먼저 생성)...? - https://conanglog.tistory.com/16?category=320753 - 객체가 먼저 만들어져 있어야(기본 생성자가 있어야하는 이유) proper..

SPRING 2019.03.19
1 2 3 4 5
반응형
SMALL
반응형
LIST