분류 전체보기
-
BeanFactoryPostProcessor 와 BeanPostProcessor카테고리 없음 2023. 4. 20. 09:53
BeanFactoryPostProcessor 와 BeanPostProcessor에 대해서 알아보자 BeanFactoryPostProcessor 인터페이스는 한개의 메서드를 제공한다. void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException; 스프링 설정의 메타정보를 만들고 난뒤에 호출된다. 해당하는 어떤빈의 메타작업을 추가하고자 할때 쓰면 되는듯한데.. 그때가 언젠지는.. 예제를 한번 살펴보자. 예제라기 보다는 그냥 한번 보자. @Configuration public class BeanFactoryPostProcessorTest implements BeanFactoryPostProcessor ..
-
spring mvc Conversion카테고리 없음 2023. 4. 20. 09:53
이번 시간에 이전 시간에 살펴봤던 java config와 xml 설정중에 Conversion and Formatting 에 대해 알아보자. Conversion과 Formatting은 설정은 비슷하니까 Conversion만 알아보자. @Override public void addFormatters(FormatterRegistry registry){ } 위와 함수가 converter와 Formatter를 등록할 수 있는 함수이다. 그럼 사용하는 방법을 한번 살펴보자. 사용하는 형태는 여러가지가 있겠지만 여기서는 간단하게 enum을 컨버팅하는 것을 살펴보겠다. public enum OrderType { CALL(1), ONLINE(2), OFFLINE(3); int i; OrderType(int i) { th..
-
spring mvc (xml과 java config)카테고리 없음 2023. 4. 20. 09:53
spring mvc의 xml과 java config를 비교해서 한번 살펴보겠다. EnableWebMvc @Configuration @EnableWebMvc public class WebConfig { } xml의 은 @EnableWebMvc과 같은 설정이다. 위의 설정은 해주는게 많다. messageConverter, formatting, validating 기타 등등 아주 여러가지를 해주는 어노테이션 및 xml 설정이다. 나머지는 인터넷에서 쉽게 찾을 수 있으니 참고만 하길 바란다. @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { } 우리는 WebMvcConfigurerAdapter을 상속받아서 커..
-
kafka producer consumer 구현하기카테고리 없음 2023. 4. 20. 09:53
kafka producer과 consumer를 java로 구현해보자. 일단 카프카가 설치 되어 있어야 한다. 카프카 설치는 여기에서 보면 된다. 아주 간단한 샘플용이니 참고만 하길 바란다. kafka version은 0.9.0.1 버전으로 하였다. 바로 소스를 보자. org.apache.kafka kafka-clients 0.9.0.1 ch.qos.logback logback-classic 1.1.7 일단 디펜더시는 카프카 클라이언트와 필자는 logback을 자주 써서 logback으로 디펜더시를 설정 하였다. 다음 코드는 producer 코드이다. 간단하게 만들었다. public static void main(String[] args) throws IOException { Properties confi..
-
spring 4.3 Custom 어노테이션 meta-annotation.카테고리 없음 2023. 4. 20. 09:53
Spring 4.3 부터 추가된거 같은 어노테이션을 커스텀하게 만들 수 있다. 흠 커스텀이라고 하는게 맞는지는 잘 모르겠지만.. meta annotation? 이 더 맞는 건가? 아무튼 나두 말로 설명을 못하겠으니 소스를 보면서 해보자. 참고로 4.2부터는 @AliasFor 어노테이션을 사용하면 가능하다. 4.3 부터는 굳이 명시를 하지 않아도 된다. Spring 4.3부터 추가된 기능으로 @GetMapping, @PostMapping @PutMapping, @PatchMapping, @DeleteMapping등 @RequestMapping(method = RequestMethod.GET) 등을 좀더 간편하게 만들 수 있는 어노테이션이 추가되었다. 그러면서 어노테이션을 메타 어노테이션으로 설정 할 수가 ..
-
[Toby spring] 사라진 SQLException카테고리 없음 2023. 4. 20. 09:53
자바 개발자들이 가장 신경 쓰기 귀찮아하는 것 중 하나가 바로 예외처리다. 정상적인 결과와 흐름을 보여주는 코드를 만들기도 버거운데 예외상황까지 처리해야 한다는 사실이 부담스러울 수도 있다. 이전에 다시 보는 초난감 DAO 에서 JdbcContext로 만들었던 코드를 스프링 JdbcTemplate을 적용하도록 바꾸면서 설명하지 않고 은글슬쩍 넘어간 부분이 있다. public void deleteAll() throws SQLException { this.jdbcContext.executeSql("delete from users"); } public void deleteAll() { this.jdbcTemplate.update("delete from users"); } 두개의 메서드의 다른게 있다면 thro..
-
kafka multi-broker cluster카테고리 없음 2023. 4. 20. 09:53
좀전에 카프카에 대허서 알아 봤다. 간단하게 설치도 하고 했는데 실 운영에서는 그렇게 못쓴다. 물론 주기퍼도 여러대 카프카도 여러대로 써야 하나의 서버가 죽더라도 운영은 계속 되어야 한다. 우리는 카프카의 멀티 broker의 설정에 대해 알아 보자 기존의 server.properties는 냅두고 server1.properties 와 server2.properties를 만들자. cp config/server.properties config/server1.properties cp config/server.properties config/server2.properties server.properties 복사하여 server1.properties, server2.properties를 아래와 같이 변경을 하자. ..
-
kafka 설치카테고리 없음 2023. 4. 20. 09:53
kafka를 설치 해보자 카프카란 LinkedIn에서 개발된 메시지큐 시스템이다. 기존 메시지 시스템과 우수한 성능을 보이고 있다고 한다. 여기 에서 다운로드 받을 수 있다. 위의 그림은 카프카의 구성요소와 동작 방식으로 발행과 구독 모델기반으로 되어져 있다. 카픈카는 topic 기준으로 메시지를 관리하며 Producer는 topic의 메시지를 생성 후 메시지를 broker에 전달한다. 전달받은 메시지를 분류별로 큐에 쌓으면 구독하는 consumer들이 메시지를 가져가는 구조로 되어있다. 다운 받은 카프카 파일을 압출을 푼후에 실행 시켜보자. bin/zookeeper-server-start.sh config/zookeeper.properties ... [2016-05-22 13:30:16,738] INF..