====== Spring 잡다한 지식 ====== ===== 버전 ===== ==== Spring - JDK ==== ^ Spring Framework ^ JDK ^ | 5.3.x | JDK 8 ~ 19 | | 5.2.x | JDK 8 ~ 15 | | 5.1.x | JDK 8 ~ 12 | | 5.0.x | JDK8 ~ 10 | | 4.3.x | JDK6 ~ 8 | ==== Spring Boot - JDK ==== ^ Spring Boot ^ JDK ^ | 2.3 이상 | JDK 9 이상 | | 2.1 이하 | JDK 8 ~ 11 | [[https://codify.tistory.com/89|[Spring] 스프링 JDK 버전 호환]] ===== 용어 ===== DI Dependency Injection (의존성 주입) IoC (제어의 역전) AOP 관점 지향 ===== 설정 ===== * [[https://zzznara2.tistory.com/414|[스프링] Spring에서 패키지 여러개(multiple package) 사용하는 방법]] * [[https://whakscjs.tistory.com/entry/Collection-%EA%B0%9D%EC%B2%B4-%EC%A3%BC%EC%9E%85%ED%95%98%EA%B8%B0-Spring|Collection 객체 주입하기 - Spring]] * [[http://egloos.zum.com/pelican7/v/2583817|XML 설정파일 - 컬렉션타입 프로퍼티 설정]] * [[https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/xsd-config.html|Appendix E. XML Schema-based configuration]] * [[wiki:spring:jap|스프링에 jpa 설정]] ===== 로그인 ===== * [[https://blog.miyam.net/67|Spring 에서 Interceptor 를 이용한 Session 처리]] ===== 메시지 === * [[https://offbyone.tistory.com/24|Spring Framework 메시지 국제화(다국어 지원) 사용하기]] ===== Ajax ===== * [[https://offbyone.tistory.com/112|스프링프레임웍 - Ajax 통신(@RequestBody, @ResponseBody)]] ===== Annotation ===== * [[https://since.tistory.com/23|Spring에서 RequestMapping 전체 목록 화면에 출력 하기]] * [[wiki:spring:Annotation|@SuppressWarning]] ===== Bean ===== // 등록된 bean의 이름을 모두 가져옴 String[] beanNames = applicationContext.getBeanDefinitionNames(); // bean 이름을 출력 for(String beanName : beanNames) { System.out.println(beanName); } or beanNames.forEach(System.out::println); ===== Cache ===== * [[https://jaehun2841.github.io/2018/11/07/2018-10-03-spring-ehcache/|Cache에 대하여.. (Spring+EHCache)]] * [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:cache|표준프레임워크 Cache 서비스]] ===== Controller ===== * [[wiki:spring:controller|컨트롤러에서 사용되는 주요 개념 및 활용 방법]] * [[https://stove99.github.io/java/2019/05/02/spring-boot-interceptor-forward/|Spring Boot : Interceptor 에서 forward 처리하기]] ===== DBCP ===== * [[https://linked2ev.github.io/spring/2019/08/14/Spring-3-%EC%BB%A4%EB%84%A5%EC%85%98-%ED%92%80%EC%9D%B4%EB%9E%80/|[스프링] 커넥션 풀 이란?]] * [[https://d2.naver.com/helloworld/5102792|[스프링] Commons DBCP 이해하기]] ===== Error 핸들링 ===== * [[wiki:spring:exception|스프링 에러 핸들링]] ===== JSTL ===== * [[wiki:spring:jstl|JSTL 예시]] ===== Logging ===== * [[https://beyondj2ee.tumblr.com/post/14507640070/spring%EC%97%90%EC%84%9C-powerful%ED%95%98%EA%B2%8C-sql-%EB%A1%9C%EA%B7%B8-%EB%B3%B4%EA%B8%B0/amp|Spring에서 Powerful하게 SQL 로그 보기]] \\ * [[https://offbyone.tistory.com/208|log4jdbc-remix의 Custom SQL Formatter 만들기(SQL log 줄 바꿈)]] \\ * [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:%EC%84%A4%EC%A0%95_%ED%8C%8C%EC%9D%BC%EC%9D%84_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%EB%B0%A9%EB%B2%95|Log4j 2 환경설정 [설정 파일 사용 시]]] \\ * [[https://yeti.tistory.com/24|[전자정부프레임워크] log4j2 사용하기]] \\ * [[http://dveamer.github.io/java/Log4j2.html|Log4j 2 설정하기]] \\ ===== Maven ===== * [[wiki:spring:maven|메이븐 Tip]] * [[https://jujupapa.tistory.com/22|[Maven] ojdbc6 받기 Missing artifact com.oracle:ojdbc6:jar:11.2.0.3]] \\ \\ \\ > ojdbc8 오류 해결 com.oracle.ojdbc ojdbc8 19.3.0.0 ===== MessageConverter ===== * [[https://www.whitestar.kr/328|messageConverter 방법]] ===== Mybatis ===== * [[wiki:spring:mybatis|Mybatis 예시]] ===== Parameter Mapping(파라미터 매핑) ===== * [[https://bamdule.tistory.com/131|[Spring] Parameter Mapping 방법]] ===== Resource === * [[https://marindie.github.io/spring/Spring-Include-Resource-KR/|Spring: MVC. JSP 에서 JS CSS 불러오기]] ===== Schedule ===== Quartz 예제 \\ 식 의미 "0 0 12 * * ?" 매일 12시(정오)에실행 "0 15 10 ? * *" 매일 오전 10시15분에 실행 "0 15 10 * * ?" 매일 오전 10시15분에 실행 "0 15 10 * * ? *" 매일 오전 10시15분에 실행 "0 15 10 * * ? 2005" 2005년의 매일 오전 10시15분에 실행 "0 * 14 * * ?" 매일 오후 2시부터 오후 2시59분까지 매분마다 실행 "0 0/5 14 * * ?" 매일 오후 2시부터 오후 2시55분까지 매5분마다 실행 "0 0/5 14,18 * * ?" 매일 오후 2시부터 오후 2시55분까지 매5분마다 실행 그리고 매일 오후 6시부터 오후 6시55분까지 매5분마다 실행 "0 0-5 14 * * ?" 매일 오후 2시부터 오후 2시05분까지 매분마다 실행 "0 10,44 14 ? 3 WED" 3월의 매주 수요일 오후 2시10분과 오후 2시44분에 실행 "0 15 10 ? * MON-FRI" 매주 월, 화, 수, 목, 금요일 오전 10시15분에 실행 "0 15 10 15 * ?" 매월 15일 오전 10시15분에 실행 "0 15 10 L * ?" 매월 마지막날 오전 10시15분에 실행 "0 15 10 ? * 6L" 매월 마지막 금요일 오전 10시15분에 실행 "0 15 10 ? * 6L 2002-2005" 2002년부터 2005년까지의 매월 마지막 금요일 오전 10시15분에 실행 "0 15 10 ? * 6#3" 매월 세번째 금요일 오전 10시15분에 실행 \\ [[https://invincure.tistory.com/entry/Java-Quartz-%EC%BF%BC%EC%B8%A0%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%9E%90%EB%B0%94-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81scheduling-%ED%95%98%EA%B8%B0|[JAVA] Quartz (쿼츠)를 사용하여 자바 스케줄링(scheduling) 하기]] * [[https://offbyone.tistory.com/256|Spring + Quartz 주기적으로 작업 실행하기]] * [[https://kingbbode.tistory.com/38|Quartz + Spring Batch 조합하기]] * [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:scheduling|전자정부표준프레임워크 Scheduling 서비스]] * [[https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:%EC%84%9C%EB%B2%84%EC%9E%90%EC%9B%90%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81|요소기술 - 서버자원모니터링]] ===== web.xml ===== * [[https://cnpnote.tistory.com/entry/SPRING-Spring-welcome-file-list-%EC%98%AC%EB%B0%94%EB%A5%B8-%EB%A7%A4%ED%95%91|[SPRING] Spring welcome-file-list 올바른 매핑]] ===== Tip ===== ===== Troubleshooting ===== 윈도우 톰캣에서 서비스가 시작되지 않거나 .properties 파일 읽기 실패하였을 경우 > 설치 경로에서 공백을 제거하자. ===== Spring Note ===== * [[wiki:spring:Spring Note]] {{tag>주레피 도봉산핵주먹 천호동밤안개 eleven 다국어 message 메시지 스프링 세션 로그인 커넥션풀 DBCP}}