본문 바로가기

코딩도전기/Spring Boot7

Spring Boot - Scheduler / File Upload&Download Scheduler Spring Boot Scheduler는 별도의 라이브러리나 설정없이 사용 가능 사용할 클래스에 @EnabledScheduling을 추가하고 사용할 메서드에 @Scheduled 메서드를 추가해 동작 스케줄러는 프로그램과 함께 생명주기를 가져감(프로그램이 켜지면 실행되고 꺼지면 종료됨) @Scheduled()을 사용하는 메서드는 독립적으로 움직임 @Scheduled(fixedDelay=1000) 이전 작업이 종료된 후 설정 시간 이후에 다시 시작 @Scheduled(fixedRate=1000) 설정된 시간마다 시작을 한다. 즉 이전 작업이 종료되지 않아도 시작 @Scheduled(cron = "* * * * * *") 초(0-59) 분(0-59) 시간(0-23) 일(1-31) 월(1-12.. 2023. 6. 7.
Spring Boot - Properties / AOP(Interceptor) Properties 활용 Spring에서는 주요 정보를 properties 파일에 저장해놓거나 불러와서 사용할 수 있음 Xml이나 properties는 정보를 컴파일하지 않기 때문에 쉽게 읽고 수정이 가능 보안성은 좋지 않음 Login Service(관리자 아이디 부여) application.properties 127.0.0.1 : 내 서버 ip # super user user.id=superAdmin user.pw=pass@Goodee user.ip=127.0.0.1 server.port=80 # encoding server.servlet.encoding.charset=utf-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=tr.. 2023. 6. 2.
Spring Boot - REST API Rest API(application Programming Interface) REST API : 웹 상에서 URL을 통해 원하는 정보를 얻어오거나 특정한 요청을 하는 것(사용 설명서도 포함) Rest API는 Client와 Server 사이에 일어나지만 Server와 Server 사이에도 일어남 WebClient Client의 요청을 Server에서 받아 다른 Server에 요청 후 응답 값을 client에 다시 전달 pom.xml Maven Repository에서 webflux 복붙 project 생성 시 library추가해도 됨 org.springframework.boot spring-boot-starter-webflux index.html INDEX PAGE GET SEND POST SEND FL.. 2023. 5. 31.
String Boot - Restful Service Restful Service(Representational State Transfer) 클라이언트와 서버 요소를 엄격하게 구분함 하나의 서버로 다양한 플랫폼의 클라이언트 대응 가능 url 형태로 요청을 명료화할 수 있음 URI : ex) /detail/java/15 상황이나 요청 데이터에 따라 요청방식을 선택 Restful 서비스의 반환 값은 일반적으로 XML과 JSON을 활용(JSON이 가장 대중적) json 형태의 문자열을 HashMap으로 변환(jackson-databind 필요) pom.xml jackson-databind 추가(버전 상관 없음 - boot에서 알아서 적용해줌) com.fasterxml.jackson.core jackson-databind index.html @RestControl.. 2023. 5. 30.
Spring Boot - Transaction / Connection Pool / CSS 일괄적용 Transaction @Transactional을 사용하면 특정 클래스나 메서드, 인터페이스에서 commit, rollback 등을 수행(선언적 Transaction) Spring에서는 관련 라이브러리들을 추가, 설정해야 하지만 Boot에서는 기본 제공 @Transaction(안에 작성한 내용에 따라 다르게 처리) @Transaction(rollbackFor=Exception.class) 특정 예외 발생 시 강제로 Rollback(기본) @Transaction(noRollbackFor=Exception.class) 특정예외 발생 시 Rollback 처리 하지 않음. @Transaction(propagation=Propagation.REQUIRD) TX 동작 도중 다른 TX 호출할 시, 어떻게 할 것인지 .. 2023. 5. 26.
Spring Boot - 쿼리문 로고 찍기 / 동적쿼리 쿼리문 로고 찍는 방법 maven 또는 https://central.sonatype.com/?smo=true 에서 log4jdbc-log4j2 검색 검색 결과 중 log4jdbc-log4j2-jdbc4.1 복사해서 pom.xml에 추가 Maven Central Maven Central central.sonatype.com org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 application.properties에서 아래 내용 추가 및 변경 # jdbc # name 변경 spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy # log4jdbc 추가 spring.datasource.u.. 2023. 5. 25.
Spring Boot Spring Boot Spring을 편리하게 사용할 수 있는 도구 복잡했던 Xml 설정이 상당 부분 사라지고 JAVA 코드로 작성하도록 변경됨 JSON(ajax data type) 통신을 위한 라이브러리 불필요 JSP를 기본으로 지원하지 않음 TOMCAT 설치 없이도 서비스 작동 가능(내장 TOMCAT 사용 but 사용자가 많아지면 다운) 작성한 웹 서비스를 독립된 자바 프로그램(JAR) 으로도 만들 수 있음 war는 tomcat 설치 후 실행 가능 jar는 tomcat 설치 하지 않아도 실행 가능 Spring Boot Xml로 설정 JAVA 파일로 설정 설정이 어렵고 복잡함 설정이 간단 JSP 기본 지원 JSP를 지원하지 않음(Time leaf 지원) 많은 프로젝트에 사용(정부/공기업) 신규 프로젝트에.. 2023. 5. 24.