[Spring boot - Gradle] JPA μ°κ²° μ 보 μνΈν(jasypt)
μλ νμΈμ? μ£Όλνλ μ λλ€!
μ€λμ μ°λ¦¬ Back Endκ° Codingμ νλ©΄μ κ°μ₯ κ³ λ―ΌμΈ DB μ°κ²° μ 보λ₯Ό μ΄λ»κ² μ¨κΈ°λ©΄μ νμλ€κ³Ό 곡μ λ₯Ό ν μ μλκ°?μ λν΄ λ°©λ²μ μ°Ύκ² λμ΄ κ·Έ λ΄μ©μ μμ± ν΄λ³΄κ³ μ ν©λλ€.
μ£Όλνλμ μ¬νκΉμ§ application.propertiesλ₯Ό git ignoreμ λ±λ‘ν¨μΌλ‘μ¨ λ―Όκ° μ 보λ₯Ό μ¨κ²Όλλ°, μ΄λ κ² λλ©΄ κ°μ΄ νλ‘μ νΈλ₯Ό νλ νμμ΄ μλ€κ³ κ°μ νμ λ, κ·Έ νμμ΄ λ λμΌν λ΄μ©μ application.propertiesλ ymlμ λ§λ€μ΄μ€μΌ νλ€λ λ¨μ μ΄ μλ κ²μ΄μμ.
νμ μ΄ λΆλΆμ μ΄λ»κ² ν΄κ²°ν μ μμκΉ?λ₯Ό κ³ λ―Όνμλλ°, κ·Έ λ°©λ²μ μ°Ύμλ΅λλ€!
ν΄λΉ νλ‘μ νΈμ λν Source Codeλ 'μ£Όλνλ Git Hub'μμ νμΈνμ€ μ μμ΅λλ€.
κ·ΈλΌ λ°λ‘ κ° λ³Όκ²μ!
"μ΄ ν¬μ€ν μ μΏ ν‘ ννΈλμ€ νλμ μΌνμΌλ‘, μ΄μ λ°λ₯Έ μΌμ μ‘μ μμλ£λ₯Ό μ 곡λ°μ΅λλ€."
π jasypt λ?
Java Simplified EncryptionμΌλ‘ Java LibraryμΈ κ²μ΄μμ. μμ μΈκΈν λ¬Έμ λ₯Ό ν΄κ²°ν λ, κ°λ°μ μ μμ λ¬Έμ λ₯Ό ν΄κ²°ν μ μκ² μ 곡λ LibraryμΈ κ²μ΄λλλ€.
π jasypt μ¬μ©λ²
- Jasypt (Maven) 곡μ Git Hub μ£Όμ : https://github.com/ulisesbocchio/jasypt-spring-boot
- Jasypt (Gradle) Git Hub μ£Όμ : https://github.com/mowedgrass/jasypt-gradle-boot
λ¨Όμ μμ‘΄μ±μ λ±λ‘ν΄μΌ νλ κ²μ΄μμ. μ£Όλνλμ 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μ μ¬λ¦¬κ² λλ©΄ κ²°κ΅μ μνΈν μ ν κ±°λ λ§μ°¬κ°μ§μΈ κ²μ΄μμ.
μ΄ λΆλΆμ λν΄μλ μΆκ°μ μΌλ‘ 곡λΆν΄μ κ³μ λ΄μ©μ μ΄μ΄ λκ°λλ‘ ν κ²μ΄μμ.
"μ΄ ν¬μ€ν μ μΏ ν‘ ννΈλμ€ νλμ μΌνμΌλ‘, μ΄μ λ°λ₯Έ μΌμ μ‘μ μμλ£λ₯Ό μ 곡λ°μ΅λλ€."