개발공부(173)
-
(2) 2장_스프링 코어(DI, AOP) - Bean 스코프, Profile
지난 글에 이어 의존성 주입(DI)를 마무리 짓는 글입니다. Bean이 같은 타입(이름)으로 여러 개 있을 때 설정, Component 타입, Bean 스코프/생성주기 그리고 Spring Profile 기능까지 다뤄보겠습니다. @Autowired 어노테이션을 통해 의존성 주입하는 방식입니다. DI 컨테이너가 자동으로 필요로 하는 의존 Component를 주입하게 합니다. 예시로 필수 조건을 완화해서 필드 인젝션한 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 @Autowired(required = false) PasswordEncoder passwordEncoder; //스프링 4부터는 Optional을 사용할 수 있다. @Autowired Optional passwordEncoder; p..
2021.03.18 -
(18) map()
map() 정의 : Collection 타입의 데이터를 다른 타입으로 변경하거나 메서드를 사용해 변경할 수 있습니다. 예를 들어 List of String을 Integer로 변환이 가능합니다. 설명 : map() 메서드는 매개역할자로 볼 수도 있으며 stream 속성을 변경해 반환해주기 때문입니다. Stream은 Collection의 객체들을 처리하는데 사용되는 API를 제공합니다. map() 또한 stream을 이용합니다. Java Collection 프레임워크는 객체 그룹을 저장하고 처리할 수 있는 구조(Architecture)를 제공해줍니다. 예로 인터페이스(List, Set, Queue, Dequeue...), 클래스(ArrayList, LinkedList, HashSet...)이 있습니다. 참고..
2021.03.17 -
(1) 들어가는 말
심리적 안정 하지만, 나의 내면에서 벌어지는 일에 관심을 갖고 심리적 안정 상태를 유지하면 엄청난 차이를 경험하게 됩니다. 테스트가 자신의 생각과 다르다고 절대 낙심하지 마세요. 다름을 느끼고 즐기려고 하세요. 빨리 테스트를 통과시키려고, 혹은 프로그램을 빨리 작성하려고 너무 조바심 내지 마세요. 자신감을 가지세요. 이렇게 해서 심리적인 안정 속에서 프로그래밍을 할 수 있게 되면 놀라운 일들을 경험하게 됩니다. - 역자의 글2 중에서 두 가지 법칙 - 어떤 코드건 작성하기 전에 실패하는 자동화된 테스트를 작성하라 - 중복을 제거하라 출처 : 테스트 주도 개발
2021.03.16 -
(17) String getBytes(), String(byte[], Charset)
String getBytes(), String(byte[], Charset) 정의 : String은 character strings로 (character들이 합쳐진) 이루어져 있어 불변하는 성질이 있습니다. 그래서 Unicode*로 encoding*을 하기위해선 String을 byte로 변환시켜줘야 합니다. 메서드 getBytes()는 String 타입을 byte 배열로 반환해줍니다. 그리고 byte 배열을 원하는 Charset(Unicode 형식)으로 decoding해 String으로 만들어주는 String 생성자가 String(byte[], Charset) 입니다. 설명 : Unicode란 Universal international standard character로 전 세계 모든 문자를 컴퓨터에서 ..
2021.03.16 -
(16) protected, public, private, default
protected, public, private, default 정의 : Java 접근 변경자입니다. 애플리케이션 내에서 해당 클래스나 메서드가 호출될 수 있는 범위를 제어합니다. public은 어디에서나 접근이 가능하게 해줍니다. protected는 같은 패키지와 하위 클래스까지 가능하며 default(아무것도 붙이지 않음)은 패키지 내에만 가능하고 그 밖의 하위클래스에선 호출할 수 없습니다. private은 같은 클래스 내에서만 호출이 가능하기 때문에 은닉시킬 중요한 값들에 부여합니다. 참고자료 : ORACLE - Controlling Access
2021.03.16 -
(1) 2장_스프링 코어(DI,AOP) - Bean설정과 의존성 주입
스프링 프레임워크 기초에서 가장 중요한 부분은 DI(Dependency Injection:의존성 주입)이라고 생각합니다. 객체를 다른 클래스에서 인스턴스로 일일이 초기화할 필요없이 컨테이너에 담아놓은 Bean을 꺼내 쓸 수 있기 때문이죠. DI는 DI 컨테이너에 인스턴스를 등록해 사용 시 제공하는 특성 때문에 IoC(InversionofControl:제어의 역전) 디자인 패턴의 한 종류입니다. 그리고 DI 컨테이너에 등록하는 Component를 Bean이라고 하며 이를 찾아오는 행위를 lookup이라고 합니다. Bean설정 방법 세 가지 방식이 있는데, 보통 Annotation 설정 방식과 다른 하나를 조합해서 쓴다고 합니다. - Java 기반 설정방식 : 클래스에 @Configuration, 메서드에 ..
2021.03.15