Spring/spring boot 및 기타
-
spring boot 1.X 와 2.X 차이점Spring/spring boot 및 기타 2021. 1. 8. 00:11
spring boot 2 와 이전 버젼의 차이점 1. Java 8 이 최소 버젼이다. java9 를 지원하는 최초의 버젼이다. 2. tomcat 8,5 가 최소버젼이다. 3. Hibernate 5.2 가 최소 버젼이다. 4. Gradle 3.4 가 최소 버젼이다. 5. Spring Security 구성이 더 쉬워지고 Spring Security Oauth2가 Spring Security에 합쳐졌다. 보안 자동 구성은 더 이상 옵션을 노출하지 않고 가능한 한 Spring Security 기본값을 사용한다. -Spring Security5 사용자가 한 곳에서 명시적으로 환경설정을 할 수 있다. 이런 게 WebSecurityConfigurerAdapter 의 순서 문제를 막을 수 있다. 예를 들어 Actuat..
-
[SPRING] kafka Error registering AppInfo mbean - 스프링부트 카프카Spring/spring boot 및 기타 2020. 11. 3. 22:19
스프링 부트에서 카프카 클라이언트 라이브러리를 추가하면, 이런오류가 생긴다. Error registering AppInfo mbean 해당오류는 카프카 컨슈머 측에서만 발생한다. javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=clientid-0 at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) at com.sun.jmx.in..
-
[SPRING] 몽고 DB @Field 없을때 오류 org.springframework.data.mapping.PropertyReferenceException: No property log found for typeSpring/spring boot 및 기타 2020. 10. 26. 22:49
스프링부트 2.3.3 을 쓰게되면서 부터 라이브러리 사용법들이 조금 많이 달라졌다. 예를 들어 몽고db 가 있다. spring-data-mongodb:3.0.0 이후의 버젼이다. 몽고 db 쿼리 사용 예시이다. Date dateLogStartDate = new Date(); // date 조건검색 시작 Date dateLogEndDate = new Date(); // date 조건검색 종료 Query query = new Query(); query.with(Sort.by(Sort.Direction.DESC, "log_date")); // date 내림차순 Criteria criteria = Criteria .where("log_date").gte(dateLogStartDate).lte(dateLogEnd..
-
[SPRING] 스프링 스케쥴링 추가 @ScheduledSpring/spring boot 및 기타 2020. 9. 27. 21:28
어플리케이션 내에서 스케쥴링 해야하는 일이 생긴다. 스프링부트에서 사용하려명 Main 클래스에 @EnableScheduling 을 추가해주면 된다. @Component public class Scheduler { @Scheduled(fixedDelay = 3000) public void excute() { System.out.println("스케쥴러"); } } 위의 코드는 3초마다 실행이 된다. fixedDelay 는 스케쥴러가 끝나고 3초이고, fixedRate 는 3초마다 주기적으로 실행을 한다는 의미이다. 끝나는 시점이 중요하면 fixedDelay 를 사용해야 한다. 그리고 크론탭과 같은 문법 사용이 가능하다. ex) @Scheduled(cron="*/30 * * * * *") 시간 설정 @sch..
-
vscode 로 스프링부트 실행하기Spring/spring boot 및 기타 2020. 9. 18. 17:52
vscode 확장툴들이 너무나도 많이 생겨서 이전에는 인텔리제이 및 이클립스에서만 가능했던 자바 IDE 기능이 이제는 vscode 에서도 가능해졌습니다. 여러패키지가 있지만 스프링부트를 vscode 에서 사용하기 위해서는 2가지가 필요합니다. 1. Java Extension Pack(Micosoft) - java언어 지원 기능, 디버거, 테스트 실행, maven 프로젝트 관리 등의 확장을 패키징 한 패키지 2. Spring Boot Extension Pack(Pivotal) - spring 프레임워크에 적용할 수 있는 유용한 기능이 들어있는 패키지, 말그대로 팩이여서 여러가지 스프링부트 관련 확장 패키지가 포함되어 있습니다. 이클립스 기반 sts 를 만든 회사에서 Spring boot 패키지를 만든것 같..
-
[spring boot] mongodb 연결 및 _class 삭제Spring/spring boot 및 기타 2020. 9. 9. 00:56
spring boot mongodb connection 및 자동 _class 컬럼 insert 삭제 설정 몽고디비를 연결해주려면 스프링부트에서는 yml 설정에서 추가만 해도 되지만, object 클래스를 넣어줄떄 자동으로 _class 라는 필드가 추가되게 된다. _class 를 없애주려면 @Configuraion 으로 mongodb 세팅을 자바 코드로 설정을 해주어야 한다. 해당 내용은 스프링부트 spring-boot-stater-data-mongodb:2.3.3 RELEASE 버젼, spring-data-mongodb:3.0.3 RELEASE 이다. 차이점은 spring-data-mongodb 2 버젼은 MongoDatabaseFactory 가 아니라 MongoDbFactory 이다. 3 버젼에서는 M..
-
[spring] spring boot 초기 구동 시키기 및 초기화 코드Spring/spring boot 및 기타 2020. 8. 29. 16:34
스프링 어플리케이션을 시작할때 어플리케이션이 뜰때 초기 구동시켜줘야하는 코드들이 있을 수 있다. 이 때 해결 방법이 CommandLineRunner, ApplicationRunner, @EventListener 방법으로 초기 실행코드를 구현 할 수 있다. @Component //component scanning에 의한 방식으로 빈을 등록하는 방법 public class MyCLRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("CommandLineRunner Args: " + Arrays.toString(args)); } } 또는 @Bean 으로..
-
[SPRING BOOT] 스프링 부트 2.3 변경된 내용Spring/spring boot 및 기타 2020. 6. 21. 18:29
2.3의 새로운 기능 종속성 업그레이드 Spring Boot 2.3 에 새로 추가된 내용 Spring Data Neumann Spring HATEOAS 1.1 Spring Integration 5.3 Spring Kafka 2.5 Spring Security 5.3 Spring Session Dragonfruit 또한 가능한 경우 타사 라이브러리의 안정적인 최신 릴리스로 업그레이드했습니다.이 릴리스에서 주목할만한 타사 종속성 업그레이드 중 일부는 다음과 같습니다. Cassandra Driver 4.6 Couchbase Client 3.0 Elasticsearch 7.6 Kafka 2.5 Micrometer 1.5 MongoDB 4.0 자바 14 지원 Spring Boot 2.3은 Java 14를 지원하면..