spring boot로 kafka를 간단하게 구현을 해보자. kafka가 이미 설치된 가정하에 진행하겠다. 이전글에 보면 kafka 설치 및 간단히 콘솔에서 실행하는 방법을 설명한 바 있다. 참조하도록 하자. 먼저 프로젝트를 생성하자. 인텔리j, maven기반으로 설명하겠다.Spring initializr를 선택해서 프로젝트를 생성하자. 디펜던시를 아래와 같이 추가해주자. Web -> Spring Web Starter와 Messaging -> Spring for Apache Kafka Streams, Spring for Apache Kafka 이제 kafka의 topic을 생성하는 KafkaTopicConfig 파일을 생성하고 KafkaAdmin 빈을 추가하자. KafkaAdmin 빈은 NewTopic ..
spring boot MessageSource 다국어처리spring reactive 기반으로 다국어처리를 한번 해보겠다. 틀린 부분도 있을것이다. webflux로 진행해보겠다. 일단 프로젝트를 하나 생성해보자. 개발환경은 인텔리j, maven기반이다. 먼저 템플릿 엔진은 thymeleaf를 사용하기 때문 아래와 같이 pom.xml에 추가해주자. org.springframework.boot spring-boot-starter-thymeleaf 그 다음 MessageSource 와 templateResolver 설정이다.MessageSource beannames는 프로젝트 resources 하위 message 프로퍼티경로를 적어주면된다. messages/message는 resources 폴더아래 messag..
spring boot mybatis 연동오늘은 spring boot와 mybatis를 간단하게 연동 테스트를 해보겠다. 일단 spring boot 프로젝트를 생성하고 아래와 같이 디펜던시를 받자. org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 com.h2database h2 runtime org.projectlombok lombok org.springframework.boot spring-boot-starter-test test City라는 class를 만들자.@Data @Alias("city") public class City { private Long id;..
spring boot Transaction(@Transactional) 1.@Transactional 적용된 메서드(상위메소드)에서 @Transactional이 적용되지 않은 메서드(하위메소드)를 호출할때는 Transaction이 적용된다. 2.@Transactional이 적용되지 않은 메서드(상위메소드)에서 적용된 메서드(하위메소드)를 호출하면 Transaction이 무시된다. 3.@Transactional 적용 되지 않은 메서드에서 적용된 메서드를 호출할때 무시된다. 무시되지만 그 상태에서 R을 제외하고 CUD를 2번 이상 할 경우에는 에러를 내뱉는다. Proxy모드에서는 외부 메서드를 호출할 때만 aop 적용되어 메서드를 가로챈다. 4.@Transactional 어노테이션이 붙어 있는 함수는 접근 ..
요즘에는 spring boot가 대세라 xml로 설정할 일이 없다. 그래서 아직 xml을 쓰는 사람을 위해 java config 설정 법을 간략하게 해보겠다.일단 첫 번째 부터 한번 보자public class BeanClass1 { public String getName(){ return "hi youngjin"; } } 우리한테는 이런 클래스가 있다고 가정하자! xml로 빈을 등록하기 위해 우리는 이렇게 했다. 위와 같이 메타정보를 xml로 설정 할때 이다. 클래스를 빈으로 설정한다.잘되나 테스트를 해보자@Test public void springXmlConfig(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext..