Spring 6

@ConfigurationProperties (Spring Boot)

kafka: topic: {topic name} producer-config: bootstrap.servers: {server info} key.serializer: org.apache.kafka.common.serialization.StringDeserializer value.serializer: org.apache.kafka.common.serialization.StringDeserializer acks: all batch.size: 16384 linger.ms: 1000 위와 같은 정보를 클래스 형태로 가져오고 싶다면 어떻게 해야 할까? 이럴때 쓸 수 있는 것이 @ConfigurationProperties 이다. kotlin에서 특히나 불변 값으로 가져오고 싶다면, @ConstructorBindin..

#Today #Error #삽질

Error 정리 앞으로는 매일 매일 삽질한 경험을 좀 블로그에 남겨두는 습관을 가져야겠다고 생각했다. 오늘의 에러 org.springframework.context.annotation.ConflictingBeanDefinitionException 이 오류가 남으로써 war 파일이 배포된 후 Tomcat이 Loading조차 되지 않는다. 그 이유는 바로, Bean Scan을 하고 Bean Definition을 정의한 xml을 parsing한다. 이때, Bean이 중복되어 충돌이 나서, Bean을 로드 시킬 수 없는 치명적인 에러가 바로 저 에러다. 이게 맞는 수순인지는 모르지만, 오늘 유추한 바로는 그렇다.. 위 처럼 작성을 했다고 치자, 그럼 당연히 spring framework에서는 bean id가 중..

[Spring framework] 공부를 해보자 3탄

Spring framework - 개념 스프링에서 스프링이 제어권을 가지고 직접 만들고, 관계를 부여하는 오브젝트를 Bean이라 부른다. 빈 생성과 관계설정 같은 제어를 담당하는 IoC 오브젝트를 빈 팩토리라 부른다. 좀 더 확장한 어플리케이션 컨텍스트를 주로 사용한다. 어플리케이션 컨텍스트는 별도의 정보를 참고해서 빈의 생성, 관계설정등의 제어 작업을 총괄하는 역할을 한다. 빈 팩토리 스프링의 IoC를 담당하는 핵심 컨테이너이며, 빈 등록, 생성, 조회, 반환 및 부가적인 빈을 관리하는 기능을 담당한다. 어플리케이션 컨텍스트 빈 팩토리를 확장한 IoC 컨테이너다. 빈 팩토리와 빈과 관련한 기능을 하는 것 이외에 스프링이 제공하는 각종 부가 기능들을 추가 제공한다. 스프링이 싱글톤으로 빈을 생성하는 이유..

[Spring framework] 공부를 해보자 2탄

Spring framework 스프링 웹 MVC 프레임워크 - 1 스프링 웹 MVC 프레임워크 - 2 스프링 웹 MVC 프레임워크 - 3 스프링은 특정 뷰 기술이 없어도 브라우저에서 렌더링이 가능하도록 하는 View Resolver를 제공한다. 스프링에서 JSP, Velocity(사용 안함), Freemarker, XSLT View, Thymeleaf, ReactJS, AngularJS등이 있으며, NodeJS 렌더링으로 유명한 Jade 또한 사용이 가능하다. (고로, 뷰 템플릿 엔진은 무엇을 쓰든지 가능하다. 자유도가 높다.) 스프링이 뷰를 처리하는데 중요한 기술 2가지 인터페이스가 있다. View Resolver interface View interface view Resolver interface는..

토비 스프링 공부 - 자바빈

자바빈 원래 비주얼 툴에서 조작 가능한 컴포넌트를 말했다. 자바의 주력 플랫폼이 웹 기반의 엔터프라이즈 방식으로 바뀌면서 비주얼 컴포넌트로서 자바빈은 인기가 없어졌지만 JSP 빈, EJB와 같은 표준 기술과 자바빈의 스타일의 오브젝트를 사용하는 오픈소스 기술을 통해 계속 이어져왔다. 하지만 현재 자바빈은 두 가지 관례를 따라 만들어진 오브젝트를 가리킨다. 1. 디폴트 생성자 자바빈은 파라미터가 없는 디폴트 생성자를 갖고 있어야 한다. 툴이나 프레임워크에서 리플렉션을 이용해 오브젝트를 생성하기 때문이다. 2. 프로퍼티 자바빈이 노출하는 이름을 가진 속성을 프로퍼티라 한다. 프로퍼티는 SET으로 시작하는 수정자 메소드/접근자 메소드(getter/setter)를 이용해 수정 또는 조회 할 수 있다. 리팩토링 ..

프레임워크에 대한 이야기

먼저 이 이야기를 해보자. Spring Framework에서 프레임워크라는 것은 뭘까? 인터넷에서 프레임워크가 뭔지 검색하면 이런 말을 볼 수 있다. "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협엽화된 형태로 클래스들을 제공하는 것"- 랄프 존슨 라이브러리는 무엇인가? 내가 이해하는 라이브러리는 '사람들이 자주 사용하고자 하는 함수(기능) 또는 특수한 기능을 편리하게 사용하고자 만든 코드 집합"이라고 할 수 있을 것 같다. 그럼 프레임워크는 도대체 무엇인가? "라이브러리와 달리 어플리케이션(프로그램)의 틀(Frame)과 구조와 함께 개발자가 작성한 코드를 제어하는 것이 프레임워크다."라고 말 할 수 있다고 한다. 위의 말은 다시 그래서 뭐가 다른데? 라고 할 수 있다..

반응형