Back-End μž‘μ—…μ‹€/Spring Framework

[Spring boot - Gradle] JPA μ—°κ²° 정보 μ•”ν˜Έν™”(jasypt)

μ£Όλ‹ˆμ“°πŸ§‘‍πŸ’» 2021. 12. 31. 21:56
728x90
λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš”? μ£Όλ‹ˆν•˜λž‘ μž…λ‹ˆλ‹€!

μ˜€λŠ˜μ€ 우리 Back Endκ°€ Coding을 ν•˜λ©΄μ„œ κ°€μž₯ 고민인 DB μ—°κ²° 정보λ₯Ό μ–΄λ–»κ²Œ μˆ¨κΈ°λ©΄μ„œ νŒ€μ›λ“€κ³Ό 곡유λ₯Ό ν•  수 μžˆλŠ”κ°€?에 λŒ€ν•΄ 방법을 찾게 λ˜μ–΄ κ·Έ λ‚΄μš©μ„ μž‘μ„± ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€.

μ£Όλ‹ˆν•˜λž‘μ€ μ—¬νƒœκΉŒμ§€ application.propertiesλ₯Ό git ignore에 λ“±λ‘ν•¨μœΌλ‘œμ¨ 민감 정보λ₯Ό μˆ¨κ²ΌλŠ”λ°, μ΄λ ‡κ²Œ 되면 같이 ν”„λ‘œμ νŠΈλ₯Ό ν•˜λŠ” νŒ€μ›μ΄ μžˆλ‹€κ³  κ°€μ •ν–ˆμ„ λ•Œ, κ·Έ νŒ€μ›μ΄ 또 λ™μΌν•œ λ‚΄μš©μ— application.propertiesλ‚˜ yml을 λ§Œλ“€μ–΄μ€˜μ•Ό ν•œλ‹€λŠ” 단점이 μžˆλŠ” κ²ƒμ΄μ—μš”.

항상 이 뢀뢄을 μ–΄λ–»κ²Œ ν•΄κ²°ν•  수 μžˆμ„κΉŒ?λ₯Ό κ³ λ―Όν–ˆμ—ˆλŠ”λ°, κ·Έ 방법을 μ°Ύμ•˜λ‹΅λ‹ˆλ‹€!

 

 

ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ— λŒ€ν•œ Source CodeλŠ” 'μ£Όλ‹ˆν•˜λž‘ Git Hub'μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

그럼 λ°”λ‘œ κ°€ λ³Όκ²Œμš”!

 

 

 

 

[μ—μ΄μ½˜μΆœνŒ]μŠ€ν”„λ§κ³Ό JPAλ₯Ό ν™œμš©ν•œ μžλ°” μ—”ν„°ν”„λΌμ΄μ¦ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 μ„ΈνŠΈ - μ „3ꢌ

COUPANG

www.coupang.com

"이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μŠ΅λ‹ˆλ‹€."

 


πŸš€ jasypt λž€?

Java Simplified Encryption으둜 Java Library인 κ²ƒμ΄μ—μš”. μœ„μ— μ–ΈκΈ‰ν•œ 문제λ₯Ό ν•΄κ²°ν•  λ•Œ, 개발자 μ„ μ—μ„œ 문제λ₯Ό ν•΄κ²°ν•  수 있게 제곡된 Library인 κ²ƒμ΄λžλ‹ˆλ‹€.

 

 

πŸš€ jasypt μ‚¬μš©λ²•

 

 

λ¨Όμ € μ˜μ‘΄μ„±μ„ 등둝해야 ν•˜λŠ” κ²ƒμ΄μ—μš”. μ£Όλ‹ˆν•˜λž‘μ€ Spring Boot Gradle을 μ‚¬μš©ν•  것이기 λ•Œλ¬Έμ— 그에 λ§žλŠ” μ˜μ‘΄μ„±μ„ 등둝 ν•΄ 주도둝 ν•  κ²ƒμ΄μ—μš”.

참고둜 apply plugin을 ν•˜κ²Œ 되면 Errorκ°€ λ– μ„œ μ£Όλ‹ˆν•˜λž‘μ€ 없이 진행 ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

 

 

μœ„ μ˜μ‘΄μ„±μ€ 즉, Gradle에 λŒ€ν•œ 것은 ν•΄λ‹Ή μœ„μ™€ 같이 받을 곳을 μ°Ύμ•„ μ˜μ‘΄μ„± 등둝을 ν•΄ μ€€ κ²ƒμ΄μ—μš”.

 

μ΄λ²ˆμ—” application.properties에 μ•”ν˜Έν™”μ— μ‚¬μš©ν•  Keyλ₯Ό 등둝 ν•΄ 쀄 κ²ƒμ΄μ—μš”.

 

이제 μ„€μ •μš©μœΌλ‘œ μ‚¬μš©ν•  Class인 'JasyptConfig'λ₯Ό λ§Œλ“€μ–΄ λ³Ό κ²ƒμ΄μ—μš”.

 

13번째 쀄은 application.properties에 λ“±λ‘ν–ˆλ˜ μ•”ν˜Έν™”ν•  λ•Œ μ‚¬μš©ν•  Key에 String 값을 뢈러 μ˜€λ„λ‘ν•˜μ—¬ κ·Έ 값을 encyptKey에 듀어가도둝 ν•œ κ²ƒμ΄μ—μš”.

그리고, 15번째 쀄에 μ•”ν˜Έν™”ν•  λ•Œ μ‚¬μš©ν•  Key에 String 값을 Bean으둜 μ£Όμž…λ  수 있게 ν•  것인데, bean의 이름을 μž‘μ„±ν•΄μ£ΌλŠ” κ²ƒμ΄μ—μš”.

21λ²ˆμ§ΈλŠ” μ•”ν˜Έν™”ν•  λ•Œ μ‚¬μš©ν•  Keyλ₯Ό μ„€μ •ν•˜λŠ” 뢀뢄이고, κ·Έ λ‹€μŒμ—λŠ” μ–΄λ–€ μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•  것인지λ₯Ό μ •ν•΄ μ€€ κ²ƒμ΄μ—μš”.

 

    πŸ”½  Jasypt Encrypt/Decrypt Test Code

이제 Test Codeλ₯Ό μž‘μ„±ν•¨μœΌλ‘œ Encrypt(μ•”ν˜Έν™”)와 Decrypt(λ³΅ν˜Έν™”)κ°€ 잘 λ˜λŠ”μ§€ ν•œλ²ˆ 확인 ν•΄ λ³Ό κ²ƒμ΄μ—μš”. κ·Έ κ²°κ³Όλ₯Ό ν†΅ν•΄μ„œ application.properties에 μ μš©ν•΄ 보렀고 ν•©λ‹ˆλ‹€.

참고둜 encryptedText의 값은 μ‹€ν–‰ν•  λ•Œλ§ˆλ‹€ λ³€κ²½ λœλ‹€κ³  ν•˜λ„€μš”!

 

         πŸ§ͺ Test κ²°κ³Ό

 

μœ„μ™€ 같이 μ •μƒμ μœΌλ‘œ Testκ°€ μ§„ν–‰λ˜λŠ” 것을 확인 ν•  수 μžˆλŠ” κ²ƒμ΄μ—μš”.

 

이제 μœ„μ— λ‚˜μ˜¨ encryptedText 결과같은 ENC() 둜 감싸주어 application.properties에 λŒ€ν•œ λ‚΄μš©μ„ μ•”ν˜Έν™” ν•΄ λ³Ό κ²ƒμ΄μ—μš”. 그러기 μœ„ν•΄μ„œλŠ” application.properties에 μž…λ ₯ λ˜μ–΄ μžˆλŠ” κ°’λ“€ 예λ₯Ό λ“€λ©΄ DB의 URLμ΄λ‚˜, username 등에 값을 μ €κΈ° encryptedText에 λ„£μ–΄μ„œ 결과값을 λ„£μ–΄μ£Όλ©΄ λ˜λŠ” κ²ƒμ΄μ—μš”.

 

 

 

         πŸ§ͺ Test κ²°κ³Ό

 

이제 μœ„μ— Test 결과에 λ‚˜μ˜¨ μ•”ν˜Έν™” 값을 ENC()둜 κ°μ‹Έμ£Όμ–΄μ„œ application.properties 값을 바꿔주도둝 ν•΄ λ³Ό κ²ƒμ΄μ—μš”.

 

μœ„μ™€ 같이 κΈ°μ‘΄ 평문값을 μ•”ν˜Έν™”λ‘œ λ°”κΎΈμ–΄ μ€€ κ²ƒμ΄μ—μš”.

 

그리고 λ‚˜μ„œ ν•΄λ‹Ή Application을 μ‹€ν–‰ μ‹œν‚€λ©΄ κ²°κ³ΌλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€!

λ°˜μ‘ν˜•
/Users/juny/Library/Java/JavaVirtualMachines/corretto-16.0.2/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=52934:/Applications/IntelliJ IDEA.app/Contents/bin -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath /Users/juny/source_code/01.Project/01.JunyHarang/MacBook/BackEnd/hongga-community/out/production/classes:/Users/juny/source_code/01.Project/01.JunyHarang/MacBook/BackEnd/hongga-community/out/production/resources:/Users/juny/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.22/9c08ea24c6eb714e2d6170e8122c069a0ba9aacf/lombok-1.18.22.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/2.6.1/cb2b309c7452b8835569bdd8df3c1352ca9bde0/spring-boot-starter-data-jpa-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-hateoas/2.6.1/6e8b2a2ca7155766698539e6aedde4753c834258/spring-boot-starter-hateoas-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-oauth2-client/2.6.1/6838c52086cf0d1a772d6de5f1740b3135dd43c/spring-boot-starter-oauth2-client-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-security/2.6.1/d056492c253f2445e67bb0341c384a2c09935d2b/spring-boot-starter-security-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-mail/2.6.1/e9f9e113e215594c18f9d88fa555b5785f807c64/spring-boot-starter-mail-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/2.6.1/145ac0cfb81982608ef0d19e32699c0eeeb3c2ab/spring-boot-starter-web-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.modelmapper/modelmapper/2.3.8/9cfa7d9ea8d0ccdd6a91f3331f54c1938ff15ae0/modelmapper-2.3.8.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-boot-starter/3.0.0/5486365e263f8acca014b97efa50c3419d58e8f6/springfox-boot-starter-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-validation/2.6.1/ae3d7047936011a68d73b14cdc4200f3ca466118/spring-boot-starter-validation-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.mariadb.jdbc/mariadb-java-client/2.4.1/39e4b7b5cac8ba2ccd5399bf62294fcc9463324d/mariadb-java-client-2.4.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1.1/c9ad4a0850ab676c5c64461a05ca524cdfff59f1/json-simple-1.1.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/junit/junit/4.13.2/8ac9e16d933b6fb43bc7f576336b8f4d7eb5ba12/junit-4.13.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.querydsl/querydsl-jpa/5.0.0/2d66608cb2cbcde56290e49f2918960cc17fcb09/querydsl-jpa-5.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.querydsl/querydsl-apt/5.0.0/fa5554c395bdcbe9846242824857a82874ad3223/querydsl-apt-5.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.32/cdcff33940d9f2de763bc41ea05a0be5941176c3/slf4j-api-1.7.32.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.jsonwebtoken/jjwt/0.9.1/54d2abfc3e63a28824d35bf600d6a5d627da681a/jjwt-0.9.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.jsonwebtoken/jjwt-api/0.11.2/57c34dce3e88f2972c5c5465b6291acfb5628084/jjwt-api-0.11.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.8.9/8a432c1d6825781e21a02db2e2c33c5fde2833b9/gson-2.8.9.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.github.ulisesbocchio/jasypt-spring-boot-starter/3.0.4/ba3f0ef32c86dfcd15f5c273672d12bffdc0a09b/jasypt-spring-boot-starter-3.0.4.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/2.6.0/bd08ea8db76c7c82397307dda2e253180c31b7ec/spring-data-jpa-2.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/2.6.1/c4c7fbb8cf37b295fe715f66531af1370cf3b633/spring-boot-starter-jdbc-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/2.6.1/35824bcc6870ff3c50a18d3761d6576a0c40cfa2/spring-boot-starter-aop-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/jakarta.transaction/jakarta.transaction-api/1.3.3/c4179d48720a1e87202115fbed6089bdc4195405/jakarta.transaction-api-1.3.3.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/jakarta.persistence/jakarta.persistence-api/2.2.3/8f6ea5daedc614f07a3654a455660145286f024e/jakarta.persistence-api-2.2.3.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.6.1.Final/e587b28eef7a5dd7c742d5dd20e16c9c38b2e34d/hibernate-core-5.6.1.Final.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/5.3.13/81bd87958d5d381896cb22b17c750ab6d591c1e1/spring-aspects-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.hateoas/spring-hateoas/1.4.0/5f2e51093375ffb71a0f67ba5d33b1e4627d7b68/spring-hateoas-1.4.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/2.6.1/39d77929829c82b102248630047abf0f69b96a7b/spring-boot-starter-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-config/5.6.0/9b03cb25f665921db1e6226689ddc7ad53f0f0a3/spring-security-config-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-oauth2-client/5.6.0/b24bd3cc42ebf9d0ec7e7a9f315464bd202e4ae2/spring-security-oauth2-client-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-oauth2-jose/5.6.0/695349b4a54d397c906c08c15381fb9e4dd24b/spring-security-oauth2-jose-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-core/5.6.0/20203f2c9807056e624d54a9eb273dd3286db090/spring-security-core-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-web/5.6.0/19c73f6ee2d325b3f007da3ae600f739e28f1bd4/spring-security-web-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/5.3.13/e0fddf47af3fbbec69a403c058c23505612ca329/spring-aop-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context-support/5.3.13/d0a408dd3c5f919ff4acbdf6ccfb77b379f7f45e/spring-context-support-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.sun.mail/jakarta.mail/1.6.7/319df0e9d536c1a01acdfe49b6e82b97d2393073/jakarta.mail-1.6.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-json/2.6.1/b76ad5d869508cc78aaf00bb7ab92e8a472b26ed/spring-boot-starter-json-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.13/cea31c85fa84dbd9f8df14a3ca62ab57c25cabe4/spring-webmvc-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/2.6.1/6a0744acdd17b860e2ba3edb95c3c7cec36e6b58/spring-boot-starter-tomcat-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.3.13/66d95a5d2d436961b4cae036723f4c7a764fc14c/spring-web-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-oas/3.0.0/e7bc9c1319cf1b64ae714a249c3db3b8fe01e42b/springfox-oas-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-data-rest/3.0.0/40f5e834d6696ae1d3212fa5a2d5e1ec406bedc0/springfox-data-rest-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-bean-validators/3.0.0/80c646fdebe5f2b2b337a5a686e540fee0b7304f/springfox-bean-validators-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger2/3.0.0/7bcb18d496576eff76ef7bb72684e149cbb75c1d/springfox-swagger2-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-metadata/2.0.0.RELEASE/6fb3a1fc0f05dc826687b7686ad8a5960ecdd57c/spring-plugin-metadata-2.0.0.RELEASE.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/2.0.0.RELEASE/95fc8c13037630f4aba9c51141f535becec00fe6/spring-plugin-core-2.0.0.RELEASE.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-ui/3.0.0/1e665fbe22148f7c36fa8a08e515a0047cd4390b/springfox-swagger-ui-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.hibernate.validator/hibernate-validator/6.2.0.Final/d6b0760dfffbf379cedd02f715ff4c9a2e215921/hibernate-validator-6.2.0.Final.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/9.0.55/d8b69643d1566712cf849a7e8e95c917f8aed1d3/tomcat-embed-el-9.0.55.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/2.2/3f2bd07716a31c395e2837254f37f21f0f0ab24b/hamcrest-core-2.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.querydsl/querydsl-core/5.0.0/7a469f78b7a89bae429f17766fb92687d0ab9e5b/querydsl-core-5.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.querydsl/querydsl-codegen/5.0.0/d690e92300f528e4161307b286f76aeaf348e2fb/querydsl-codegen-5.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.13.0/889672a1721d6d85b2834fcd29d3fda92c8c8891/jackson-databind-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.github.ulisesbocchio/jasypt-spring-boot/3.0.4/c45792cc2f5041456bb29e8029e77aa8bdf48c1/jasypt-spring-boot-3.0.4.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.6.0/5a9afaa6e0a4cd74183a794f467c9b4a546b4cbe/spring-data-commons-2.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/5.3.13/e328db1c30ffe1c58328e4ab42cd3855a5307469/spring-context-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.3.13/cfcd1ea05a881200ddf7c67a1127a0f7c2efcf06/spring-orm-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/5.3.13/4b7346f190d6a6f4b983bc23d1f0145c2ff2dbb7/spring-tx-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/5.3.13/1d90c96b287253ec371260c35fbbea719c24bad6/spring-beans-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.3.13/d2a6c3372dd337e08144f9f49f386b8ec7a8080d/spring-core-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.zaxxer/HikariCP/4.0.3/107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f/HikariCP-4.0.3.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/5.3.13/70d775617131bfd87370f590c94c55319f7964ff/spring-jdbc-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.9.7/158f5c255cd3e4408e795b79f7c3fbae9b53b7ca/aspectjweaver-1.9.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.1.2.Final/e59ffdbc6ad09eeb33507b39ffcf287679a498c8/hibernate-commons-annotations-5.1.2.Final.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.4.2.Final/e517b8a93dd9962ed5481345e4d262fdd47c4217/jboss-logging-3.4.2.Final.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy/1.11.22/8b4c7fa5562a09da1c2a9ab0873cb51f5034d83f/byte-buddy-1.11.22.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.2.3.Final/d3865101f0666b63586683bd811d754517f331ab/jandex-2.2.3.Final.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.3.5/a169a961a2bb9ac69517ec1005e451becf5cdfab/jaxb-runtime-2.3.5.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.jayway.jsonpath/json-path/2.6.0/67f565b424f7903a12d4f5b9361b11462ecacdac/json-path-2.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/2.6.1/2f83b93ec87bf2f1e28e67c9a6cec80f9c0032/spring-boot-starter-logging-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.6.1/9ac07afd64da0cce435792ba1328c93edcfbb2fb/spring-boot-autoconfigure-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.6.1/f670cee55752c1f1b304508e18bafd000e543174/spring-boot-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/jakarta.annotation/jakarta.annotation-api/1.3.5/59eb84ee0d616332ff44aba065f3888cf002cd2d/jakarta.annotation-api-1.3.5.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.29/6d0cdafb2010f1297e574656551d7145240f6e25/snakeyaml-1.29.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-oauth2-core/5.6.0/b8d959eac1b3428e77ab61ea90e1824b930cf60b/spring-security-oauth2-core-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.nimbusds/oauth2-oidc-sdk/9.19/ae4ec89dcabe7900e921131791a1bbf72c22e5a0/oauth2-oidc-sdk-9.19.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.nimbusds/nimbus-jose-jwt/9.14/3a5278fa1fef97c50f47f05e1fd84385d32aa3dc/nimbus-jose-jwt-9.14.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/5.3.13/8f7448f4fb296a92855fd0afea3375ce41061e84/spring-expression-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-crypto/5.6.0/751ba795cb2d65d990ff20eb717e7864ccd93722/spring-security-crypto-5.6.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.sun.activation/jakarta.activation/1.2.2/74548703f9851017ce2f556066659438019e7eb5/jakarta.activation-1.2.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.0/4c143877fc733befe6189151c8b95d84acd06941/jackson-datatype-jsr310-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-parameter-names/2.13.0/62a5e3b6cc5aacc0ff2354053f3cc2a7821dfa9/jackson-module-parameter-names-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.0/6d82a502e03f61d6dc6e47e5f7d6168141419c92/jackson-datatype-jdk8-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.55/4e6dc3646d00887497bd465bc4a63bfb0a7b10ab/tomcat-embed-websocket-9.0.55.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.55/6ab68425d34f35e93cf97e1950c2c710161d8ce1/tomcat-embed-core-9.0.55.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-common/3.0.0/2e2fae840984cfcabfd50e1b4b1c23422135ba12/springfox-swagger-common-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spring-webmvc/3.0.0/7ed22363fdfd651cd811c0b2391f16bddb91db8b/springfox-spring-webmvc-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spring-web/3.0.0/a76f2fbe805bfd2798e20dc8f2cfbfad554d52da/springfox-spring-web-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-schema/3.0.0/32c5d6965617830ef6480fadb9030008945bcd9c/springfox-schema-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spi/3.0.0/bae0b820d4b5a922063d34a42aaf4f763308b828/springfox-spi-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-core/3.0.0/7c3367ce577c8acd9bf64c74488c9269253516c9/springfox-core-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spring-webflux/3.0.0/efccbcfe1d23f2ba520bd87cc156bf2b81f3568e/springfox-spring-webflux-3.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.swagger.core.v3/swagger-models/2.1.2/e7edeed6456a16d707542c003af03a594ecafe3a/swagger-models-2.1.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.swagger.core.v3/swagger-annotations/2.1.2/d407a33aa71444802c640080eb4d5f499b027f96/swagger-annotations-2.1.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.swagger/swagger-models/1.5.20/fb3a23bad80c5ed84db9dd150db2cba699531458/swagger-models-1.5.20.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.swagger/swagger-annotations/1.5.20/16051f93ce11ca489a5313775d825f82fcc2cd6c/swagger-annotations-1.5.20.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/jakarta.validation/jakarta.validation-api/2.0.2/5eacc6522521f7eacb081f95cee1e231648461e7/jakarta.validation-api-2.0.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest/2.2/1820c0968dba3a11a1b30669bb1f01978a91dedc/hamcrest-2.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.mysema.commons/mysema-commons-lang/0.2.4/d09c8489d54251a6c22fbce804bdd4a070557317/mysema-commons-lang-0.2.4.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.querydsl/codegen-utils/5.0.0/ff8a2ebbc3a317715de0ce2856c2024534d18a1a/codegen-utils-5.0.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.github.classgraph/classgraph/4.8.108/1c175d4ce7a1fa67463bad731f37f1a284dab790/classgraph-4.8.108.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.13.0/15be89db6609bd6fda3dc309bacf0318a312c03f/jackson-annotations-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.13.0/e957ec5442966e69cef543927bdc80e5426968bb/jackson-core-2.13.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.jasypt/jasypt/1.9.3/d99ef9540f51c617f2a293b460f025d2ee563dd/jasypt-1.9.3.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jcl/5.3.13/3aa15be194887fbda3912ecbb4ab6ec8dfdebdb0/spring-jcl-5.3.13.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/2.3.3/48e3b9cfc10752fba3521d6511f4165bea951801/jakarta.xml.bind-api-2.3.3.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.3.5/ec8930fa62e7b1758b1664d135f50c7abe86a4a3/txw2-2.3.5.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/3.0.12/cbbe1a62b0cc6c85972e99d52aaee350153dc530/istack-commons-runtime-3.0.12.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/net.minidev/json-smart/2.4.7/8d7f4c1530c07c54930935f3da85f48b83b3c109/json-smart-2.4.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.7/3e89a85545181f1a3a9efc9516ca92658502505b/logback-classic-1.2.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-to-slf4j/2.14.1/ce8a86a3f50a4304749828ce68e7478cafbc8039/log4j-to-slf4j-2.14.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.32/8a055c04ab44e8e8326901cadf89080721348bdb/jul-to-slf4j-1.7.32.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.github.stephenc.jcip/jcip-annotations/1.0-1/ef31541dd28ae2cefdd17c7ebf352d93e9058c63/jcip-annotations-1.0-1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.nimbusds/content-type/2.1/66d618739859bc75ab9643b96a9839ac7802ec90/content-type-2.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.nimbusds/lang-tag/1.5/7e82e3c4c593f85addf4bd209abde4f8ff933a07/lang-tag-1.5.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.eclipse.jdt/ecj/3.26.0/4837be609a3368a0f7e7cf0dc1bdbc7fe94993de/ecj-3.26.0.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/net.minidev/accessors-smart/2.4.7/3970cfc505e6657ca60f3aa57c849f6043000d7a/accessors-smart-2.4.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.7/31f7db3c4277023742268c0c3f9b65f1f297e49a/logback-core-1.2.7.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.14.1/cd8858fbbde69f46bce8db1152c18a43328aae78/log4j-api-2.14.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.1/a99500cf6eea30535eeac6be73899d048f8d12a8/asm-9.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-devtools/2.6.1/2cc7be288418abf0d18ad53f776200f9c3ca77d4/spring-boot-devtools-2.6.1.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.jsonwebtoken/jjwt-impl/0.11.2/8fd8acf9d3cb9a2db05bfa484c2a1408cc3507f9/jjwt-impl-0.11.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/io.jsonwebtoken/jjwt-jackson/0.11.2/bff0b63d4cbace7b38551a70350875e69201ffeb/jjwt-jackson-0.11.2.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/com.h2database/h2/1.4.200/f7533fe7cb8e99c87a43d325a77b4b678ad9031a/h2-1.4.200.jar:/Users/juny/.gradle/caches/modules-2/files-2.1/org.mapstruct/mapstruct/1.3.1.Final/6ab184bbc7a7029738277a244e4c535fcdc3f558/mapstruct-1.3.1.Final.jar com.honggacommunity.HonggaCommunityApplication
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
21:48:54.612 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@756ea1fc

     β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ
     β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ       β–ˆβ–ˆ          β–ˆβ–ˆ      β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ           β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ        β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ
     β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆ
β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ      β–ˆβ–ˆ          β–ˆβ–ˆ β–ˆβ–ˆ      β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ     β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ        β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ  β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ    β–ˆβ–ˆ
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ    β–ˆβ–ˆ    β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ      β–ˆβ–ˆ   β–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ     β–ˆβ–ˆ        β–ˆβ–ˆ   β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆ β–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

© 2021 junyharang <junyharang@gmail.com>

λ³Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ†ŒμŠ€μ½”λ“œμ— λŒ€ν•œ μ €μž‘κΆŒμ€ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

1. κ·€ν•˜λŠ” 상업 λͺ©μ μœΌλ‘œ λ³Έ μ½”λ“œ 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
λ§Œμ•½, 상업 λͺ©μ μœΌλ‘œ μ‚¬μš©μ„ μ›ν•˜μ‹ λ‹€λ©΄ μ €μ—κ²Œ 메일을 μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€.

2. 곡뢀 및 연ꡬ λͺ©μ μ— ν•œν•˜μ—¬ λ³Έ μ½”λ“œ 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 무료둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    1) λ³Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•œ λͺ¨μ˜ν•΄ν‚Ήμ„ μ§„ν–‰ν•˜κ³ μž ν•  경우
    2) λ³Έ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ κΈ°λŠ₯ κ°œμ„  λ“±μ˜ λͺ©μ μΌ 경우

μœ„μ˜ 이유둜 λ³Έ μ†ŒμŠ€μ½”λ“œλ₯Ό μ‚¬μš©ν•˜κΈ° μ „ 'junyharang'μ—κ²Œ 메일을 μ£Όμ„Έμš”.
μœ„μ˜ λ‚΄μš©μ— μ–΄κΈ‹λ‚˜λŠ” ν˜•νƒœμ— μ‚¬μš©μ€ λ―Ό, ν˜•μ‚¬μƒ μ±…μž„μ„ 질 수 μžˆμŠ΅λ‹ˆλ‹€.

Copyrights for this application and source code are as follows.

1. You cannot use this code and application for commercial purposes.
If you want to use it for commercial purposes, please send me an e-mail.

2. You can use this code and application for free only for study and research purposes.

    1) If you want to simulate this application,
    2) For the purpose of improving the function of this application,

For the above reasons, please send an e-mail to 'Junyharang' before using this source code.
Use in a form that goes against the above can be held civil and criminal responsibility.


2021-12-31 21:48:55.019  INFO 13816 --- [  restartedMain] c.h.HonggaCommunityApplication           : Starting HonggaCommunityApplication using Java 16.0.2 on MacBook-Pro.local with PID 13816 (/Users/juny/source_code/01.Project/01.JunyHarang/MacBook/BackEnd/hongga-community/out/production/classes started by juny in /Users/juny/source_code/01.Project/01.JunyHarang/MacBook/BackEnd/hongga-community)
2021-12-31 21:48:55.020 DEBUG 13816 --- [  restartedMain] c.h.HonggaCommunityApplication           : Running with Spring Boot v2.6.1, Spring v5.3.13
2021-12-31 21:48:55.020  INFO 13816 --- [  restartedMain] c.h.HonggaCommunityApplication           : No active profile set, falling back to default profiles: default
2021-12-31 21:48:55.107  INFO 13816 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2021-12-31 21:48:55.108  INFO 13816 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2021-12-31 21:48:55.987  INFO 13816 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-12-31 21:48:56.033  INFO 13816 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 40 ms. Found 1 JPA repository interfaces.
2021-12-31 21:48:56.584  INFO 13816 --- [  restartedMain] ptablePropertiesBeanFactoryPostProcessor : Post-processing PropertySource instances
2021-12-31 21:48:56.585  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Skipping PropertySource servletContextInitParams [class org.springframework.core.env.PropertySource$StubPropertySource
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource systemProperties [org.springframework.core.env.PropertiesPropertySource] to EncryptableMapPropertySourceWrapper
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource systemEnvironment [org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource] to EncryptableSystemEnvironmentPropertySourceWrapper
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource random [org.springframework.boot.env.RandomValuePropertySource] to EncryptablePropertySourceWrapper
2021-12-31 21:48:56.586  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource Config resource 'class path resource [application.properties]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper
2021-12-31 21:48:56.587  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper
2021-12-31 21:48:56.587  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource devtools [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper
2021-12-31 21:48:56.781  INFO 13816 --- [  restartedMain] c.u.j.filter.DefaultLazyPropertyFilter   : Property Filter custom Bean not found with name 'encryptablePropertyFilter'. Initializing Default Property Filter
2021-12-31 21:48:56.796  INFO 13816 --- [  restartedMain] c.u.j.r.DefaultLazyPropertyResolver      : Property Resolver custom Bean not found with name 'encryptablePropertyResolver'. Initializing Default Property Resolver
2021-12-31 21:48:56.797  INFO 13816 --- [  restartedMain] c.u.j.d.DefaultLazyPropertyDetector      : Property Detector custom Bean not found with name 'encryptablePropertyDetector'. Initializing Default Property Detector
2021-12-31 21:48:57.020  INFO 13816 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-12-31 21:48:57.026  INFO 13816 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-12-31 21:48:57.026  INFO 13816 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.55]
2021-12-31 21:48:57.098  INFO 13816 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-12-31 21:48:57.098  INFO 13816 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1990 ms
2021-12-31 21:48:57.155  INFO 13816 --- [  restartedMain] c.u.j.encryptor.DefaultLazyEncryptor     : Found Custom Encryptor Bean org.jasypt.encryption.pbe.PooledPBEStringEncryptor@6c1df05c with name: HonggaJunyHarangEncryptor
2021-12-31 21:48:57.195  INFO 13816 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-12-31 21:48:57.259  INFO 13816 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-12-31 21:48:57.267  INFO 13816 --- [  restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp://localhost/~/hongga'
2021-12-31 21:48:57.346  INFO 13816 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: devdb]
2021-12-31 21:48:57.367  INFO 13816 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.6.1.Final
2021-12-31 21:48:57.480  INFO 13816 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-12-31 21:48:57.530  INFO 13816 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2021-12-31 21:48:57.934  INFO 13816 --- [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-12-31 21:48:57.939  INFO 13816 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'devdb'
2021-12-31 21:48:57.986  WARN 13816 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2021-12-31 21:48:58.481  INFO 13816 --- [  restartedMain] .s.s.UserDetailsServiceAutoConfiguration : 

Using generated security password: 26054c7e-4657-4765-82f3-d6fab2e0c87e

2021-12-31 21:48:58.518 DEBUG 13816 --- [  restartedMain] edFilterInvocationSecurityMetadataSource : Adding web access control expression [authenticated] for any request
2021-12-31 21:48:58.523 TRACE 13816 --- [  restartedMain] o.s.s.w.a.i.FilterSecurityInterceptor    : Validated configuration attributes
2021-12-31 21:48:58.524 TRACE 13816 --- [  restartedMain] o.s.s.w.a.i.FilterSecurityInterceptor    : Validated configuration attributes
2021-12-31 21:48:58.527  INFO 13816 --- [  restartedMain] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@a0732f2, org.springframework.security.web.context.SecurityContextPersistenceFilter@3a560933, org.springframework.security.web.header.HeaderWriterFilter@66df489d, org.springframework.security.web.csrf.CsrfFilter@546a17c6, org.springframework.security.web.authentication.logout.LogoutFilter@1059b535, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@53c5d722, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@262eb3da, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@4e7f21e8, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@7cf45670, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6a71f075, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@e00fd4a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1d5b321b, org.springframework.security.web.session.SessionManagementFilter@3705bdde, org.springframework.security.web.access.ExceptionTranslationFilter@3d290067, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4f212b17]
2021-12-31 21:48:58.810  INFO 13816 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2021-12-31 21:48:59.059  INFO 13816 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] u.j.c.RefreshScopeRefreshedEventListener : Refreshing cached encryptable property sources on ServletWebServerInitializedEvent
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source systemProperties refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source systemEnvironment refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source random refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source Config resource 'class path resource [application.properties]' via location 'optional:classpath:/' refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source Config resource 'class path resource [application.yml]' via location 'optional:classpath:/' refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] CachingDelegateEncryptablePropertySource : Property Source devtools refreshed
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource server.ports [org.springframework.core.env.MapPropertySource] to EncryptableMapPropertySourceWrapper
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Skipping PropertySource configurationProperties [class org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Skipping PropertySource servletConfigInitParams [class org.springframework.core.env.PropertySource$StubPropertySource
2021-12-31 21:48:59.060  INFO 13816 --- [  restartedMain] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource servletContextInitParams [org.springframework.web.context.support.ServletContextPropertySource] to EncryptableEnumerablePropertySourceWrapper
2021-12-31 21:48:59.604  INFO 13816 --- [  restartedMain] c.h.HonggaCommunityApplication           : Started HonggaCommunityApplication in 4.98 seconds (JVM running for 5.738)

 

μ•„μ£Ό 잘 μž‘λ™ λ˜λŠ” κ²ƒμ΄μ—μš”!

 

ν•˜μ§€λ§Œ, 이것은 μ™„μ „ν•˜κ²Œ μ‚¬μš©ν•  수 μ—†λŠ” 방법인 κ²ƒμ΄μ—μš”.

 

μ™œλƒν•˜λ©΄ application.properties에 μ•”ν˜Έν™” ν•  λ•Œ μ‚¬μš©ν•˜λ €κ³  ν•˜λŠ” Keyκ°€ ν‰λ¬ΈμœΌλ‘œ μž…λ ₯이 λ˜μ–΄ 있고, 이 μƒνƒœμ—μ„œ git에 올리게 되면 κ²°κ΅­μ—” μ•”ν˜Έν™” μ•ˆ ν•œ κ±°λ‚˜ λ§ˆμ°¬κ°€μ§€μΈ κ²ƒμ΄μ—μš”.

 

이 뢀뢄에 λŒ€ν•΄μ„œλŠ” μΆ”κ°€μ μœΌλ‘œ κ³΅λΆ€ν•΄μ„œ 계속 λ‚΄μš©μ„ 이어 λ‚˜κ°€λ„λ‘ ν•  κ²ƒμ΄μ—μš”.

 

 

 

[μ—μ΄μ½˜μΆœνŒ]μŠ€ν”„λ§κ³Ό JPAλ₯Ό ν™œμš©ν•œ μžλ°” μ—”ν„°ν”„λΌμ΄μ¦ˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 μ„ΈνŠΈ - μ „3ꢌ

COUPANG

www.coupang.com

"이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μŠ΅λ‹ˆλ‹€."

 

728x90
λ°˜μ‘ν˜•