Spring Boot 적용

SPRING BOOT 2.7.1
SPRING SECURITY 관리자 URL 구성
JUNIT 5.8.1 을 하려고 하였으나 IntelliJ 2017.1.6 버전 버그로 인하여 JUNIT 4 사용 중
MULTIPLE DATABASE : MS-SQL, MY-SQL
ASPECTJ 적용하여 시간 측정하도록 구성되어 있음
Jasypt(Java Simplified Encryption)를 사용한 데이터베이스 비밀번호 암호화 적용
Spring Boot Actuator 모니터링
DateTimeFormatter (Java 8 버젼부터 적용 - Thread Safe)
web chain strategy를 활용한 /inc/폴더 하부 css, js 자동 캐쉬 처리 시스템 적용
Scheduler - 스케줄러 (서버 여러대에서 돌기 때문에 아이피 처리를 해서 하나에서만 돌도록 처리)
SPRINGLOADED 를 활용한 클래스 스와핑 적용
REDIS
SWAGGER
MYBATIS
THYMELEAF
THYMELEAF DATA-URL 방식 적용
LAYOUT
404, 500 로그 관제 시스템
SSL
SLF4J LOGGER
LOMBOK
JQUERY
PYTHON SCRIPT PY-SCRIPT 사용
XSS 어택 차단 방법 1 : LUCY 사용 - 입력시 <는 무조건 &lt;로 치환, >는 무조건 &gt;로 치환
XSS 어택 차단 방법 2 : 출력시 JSOUP 를 이용한 View 출력 허용된 태그만 지원

cpd-boot1.neungyule.com	아이피 바뀜		: Round-Roin (서버 2대중 아무거나 호출))
cpd-boot2.neungyule.com	아이피 안바뀜	: Hash (처음 연결한 서버 계속 호출, Timeout전까지))


  1. https://svndev.neungyule.com/svn/cpd-boot.neungyule.com SVN 사용 중 (IT운영팀에 요청해서 SVN 권한 받아서 소스 열람 가능)
  2. 스프링 시큐리티 Spring Security 관리자 추가
  3. 스프링 시큐리티 Spring Security 관리자 로그인
  4. 스프링 시큐리티 Spring Security 관리자 목록
  5. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 1,2,3 접근 가능) /mng/
  6. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 1,2 접근 가능) /mng/index2
  7. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 1,3 접근 가능) /mng/ex3/index3
  8. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 1,2,3 접근 가능) /mng/index4
  9. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 1 접근 가능) /mng_1/
  10. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 2 접근 가능) /mng_2/
  11. 스프링 시큐리티 Spring Security 관리자 레벨별 접근 페이지 (LEVEL 3 접근 가능) /mng_3/
  12. thymeleaf : 게시판 최신 (복사해서 붙여넣기 편하게 구성한 버전, controller, service, mapper, vo 4개의 구성)
  13. thymeleaf : 테이블 내용 모두 지우기
  14. thymeleaf : 인자없이 인서트하기 > 실행 이후 리스트 보면 됨
  15. thymeleaf : Select 리스트 Inline Query
  16. thymeleaf : Select 리스트 Procedure
  17. thymeleaf : 인자없이 인서트하기 > 실행 이후 리스트 보면 됨 >저장하고 Alert 메시지 노출하기
  18. thymeleaf : 인자없이 인서트하기 > 실행 이후 리스트 보면 됨 >저장하고 Confirm 질문하기
  19. thymeleaf : 1번 글 업데이트 하기 > 실행 이후 리스트 보면 됨
  20. thymeleaf : 인자 있는 인서트하기 > 실행 이후 리스트 보면 됨
  21. thymeleaf : String 형식 활용해서 Get 받는 예제
  22. thymeleaf : HttpServletRequest 형식 활용해서 Get 받는 예제
  23. 데이터베이스 연결해서 데이터 리스트
  24. 레이아웃
  25. 암호화 / 복호화 / 단방향 암호화
  26. Session 값 넣기 > 만들고 나서 불러오기 호출하면 볼 수 있음
  27. Session 값 불러오기
  28. cookie 값 넣기 > 만들고 나서 불러오기 호출하면 볼 수 있음
  29. cookie 값 불러오기
  30. XSS jsoup 를 이용한 XSS 필터링
  31. 단일 파일 업로드, 멀티플 파일 업로드
  32. 프로그레스바 멀티플 파일 업로드
  33. CKEDITOR 파일첨부 있는 버전
  34. download 30 메가 미만의 작은 용량
  35. download 30 메가 이상의 큰 용량(용량이 큰 경우에는 url에서 받아오기 때문에 실제 down_url에 존재하는 파일을 넣고 테스트 해야함)
  36. ZIP 파일 만들어서 다운로드 받기
    압축할 파일 리스트



    다운로드 받을 파일명

  37. 워터마크 PDF(로컬 테스트 예제)
  38. 워터마크 PDF(실서버 예제)
  39. E-Mail 발송하기
  40. Sms 발송하기
  41. /pathvariable/ 예제 링크 3 : 유알엘에서 받은 내용을 가공해서 JSON 한글 들어간 형태로 LIST 반환
  42. 500 에러 강제로 만들기
  43. SWAGGER UI - 관리자 Level 1 만 열람 가능
  44. Spring Boot Actuator 모니터링 /actuator - 관리자 Level 1 만 열람 가능
  45. 엑셀파일 XLS, XLSX 파일 읽어오기
  46. 엑셀파일 XLSX 파일에 내용 넣고 저장하고 다운로드 하기
  47. 엑셀파일 XLS 파일에 내용 넣고 저장하고 다운로드 하기
  48. 토스페이먼츠 결제하기
  49. 비트연산 bit compare
  50. 쿼리의 결과값이 유동적인 경우 루프 돌려서 뿌리기
  51. html 파일 암호화 해서 원본 내용 숨기기
  52. REST API(restapi) - json URL에서 정보 읽어와서 뿌리기
  53. REST API(restapi) - json 파일(file)에서 정보 읽어와서 뿌리기
  54. JavaScript PDF Viewer
  55. Scripts - Python Script (py-script) 예제 1
  56. Scripts - treemap 트리맵차트
  57. Scripts - 세계지도에서 인원수 차트
  58. Scripts - 미국지도에서 인원수 차트
  59. 첨부파일 기능
  60. 403, 404, 500 시 데이터베이스 기록 처리 되어 있음
  61. MyBatis 이용 시 # 으로 하면 Injection 처리 안해도 됨
  62. http://cicd.neungyule.com/ 젠킨스
  63. redis 구성되어 있음.
  64. http, https 동시 서비스 되도록 구성 되어 있음
  65. 파일업로드 및 다운로드 구성 - 개발 환경 : 윈도우, 실서버 환경 : 리눅스, nas 데이터 활용
  66. 통합회원 일반 로그인 가능
  67. 통합회원 SNS 로그인 가능