<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-to-create-and-handle-custom-exceptions-in-userdetailsservice-of-spring-security</loc>
    <lastmod>2025-08-20T09:00:22.468Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/securing-sensitive-data-in-spring-boot-with-applicationproperties-and-launch-files</loc>
    <lastmod>2025-08-19T09:00:51.583Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-your-jakarta-imports-fail-in-eclipse-and-how-to-fix-them</loc>
    <lastmod>2025-08-18T09:01:03.850Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-you-encounter-column-cannot-be-null-in-hibernate-with-onetomany-and-how-to-resolve-it</loc>
    <lastmod>2025-08-17T09:00:22.130Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/effectively-handling-cyclic-references-in-jpa-bidirectional-relationships</loc>
    <lastmod>2025-08-16T09:00:51.996Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/ways-to-fix-the-whitelabel-error-page-when-performing-get-requests-in-spring-mvc</loc>
    <lastmod>2025-08-15T09:00:37.456Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/steps-to-successfully-upgrade-spring-boot-from-java-8-to-java-17</loc>
    <lastmod>2025-08-14T09:00:51.636Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/design-multi-step-forms-efficiently-on-the-server-side-with-java</loc>
    <lastmod>2025-08-13T09:00:39.237Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-masking-sensitive-data-before-sending-to-the-frontend-in-java</loc>
    <lastmod>2025-08-12T09:00:33.842Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/redirects-to-formlogin-occur-in-spring-security-and-how-to-handle-them-effectively</loc>
    <lastmod>2025-08-11T09:00:47.529Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-and-ways-to-fix-required-a-bean-that-could-not-be-found-in-spring-boot</loc>
    <lastmod>2025-08-10T09:00:24.543Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/solving-filenotfoundexception-when-handling-multipartfile-in-spring-boot</loc>
    <lastmod>2025-08-09T09:00:37.695Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/upload-files-with-special-characters-to-s3-buckets-and-handle-presigned-url-errors</loc>
    <lastmod>2025-08-08T09:00:41.853Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-string-cannot-be-converted-to-jsonobject-occurs-and-how-to-fix-it</loc>
    <lastmod>2025-08-07T09:00:38.278Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-your-spring-data-jpa-entity-classes-are-not-recognized-and-how-to-fix-it</loc>
    <lastmod>2025-08-06T09:00:32.998Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/building-a-detailed-role-based-access-control-system-with-spring-security-and-spring-boot</loc>
    <lastmod>2025-08-05T09:00:55.600Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-optimizing-and-organizing-liquibase-scripts-in-spring-boot-for-seamless-database-migrations</loc>
    <lastmod>2025-08-04T09:00:30.920Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-designing-an-effective-userdto-in-spring-boot-applications</loc>
    <lastmod>2025-08-03T09:00:59.619Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-youre-not-receiving-jwt-tokens-and-how-to-fix-it-in-spring-security</loc>
    <lastmod>2025-08-02T09:00:18.737Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/dto-and-entity-separation-is-crucial-for-java-backend-applications</loc>
    <lastmod>2025-08-01T09:00:53.996Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-request-mapping-fails-in-spring-boot-and-how-to-fix-it</loc>
    <lastmod>2025-07-31T09:00:22.631Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-for-configuring-executors-and-guava-ratelimiter-for-effective-multithreaded-processing</loc>
    <lastmod>2025-07-30T09:00:51.402Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/building-dynamic-queries-in-spring-boot-with-jpaspecificationexecutor</loc>
    <lastmod>2025-07-29T09:00:42.903Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/handling-errors-when-importing-csv-data-into-a-database-in-spring-boot</loc>
    <lastmod>2025-07-28T09:01:00.460Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/thymeleaf-or-webmvcconfigurer-is-the-right-choice-for-your-spring-ui-application</loc>
    <lastmod>2025-07-27T09:00:58.295Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/build-a-custom-event-logger-for-api-monitoring-in-spring-boot</loc>
    <lastmod>2025-07-26T09:01:04.837Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/your-java-application-in-docker-fails-on-http-and-how-to-fix-it</loc>
    <lastmod>2025-07-25T09:01:01.979Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/techniques-for-sorting-by-multiple-columns-in-jpa-with-dynamic-calculations</loc>
    <lastmod>2025-07-23T09:00:54.133Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/threadcontextput-and-mdcput-differ-in-log4j-a-deep-dive-with-examples</loc>
    <lastmod>2025-07-22T09:00:31.768Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/visualizing-data-with-graphs-in-java-using-netbeans</loc>
    <lastmod>2025-07-21T09:00:29.900Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/mastering-java-programming-with-conversion-and-casting</loc>
    <lastmod>2025-07-20T09:00:34.206Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/methods-and-techniques-for-working-with-csv-files-in-java</loc>
    <lastmod>2025-07-19T09:00:34.458Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/local-variables-and-method-parameters-in-java</loc>
    <lastmod>2025-07-18T09:00:43.814Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/secrets-to-avoiding-common-mistakes-in-javas-try-catch-blocks</loc>
    <lastmod>2025-07-17T09:00:39.962Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/tips-for-iterating-through-arrays-with-null-elements-in-java-a-complete-guide-with-code-examples</loc>
    <lastmod>2025-07-16T09:00:27.191Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/building-a-binary-tree-in-java-is-essential-a-step-by-step-guide-with-in-depth-analysis</loc>
    <lastmod>2025-07-15T09:00:20.739Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-your-java-code-compiles-in-ide-but-fails-with-javac</loc>
    <lastmod>2025-07-14T09:00:33.851Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/ways-to-swap-two-strings-in-java-without-using-built-in-functions</loc>
    <lastmod>2025-07-13T09:00:51.011Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-pre-increment-and-post-increment-operators-in-java-can-make-or-break-your-code</loc>
    <lastmod>2025-07-12T09:00:36.796Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/decompile-class-files-in-java-tools-and-techniques</loc>
    <lastmod>2025-07-11T09:00:41.799Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/reasons-why-java-doesnt-support-multiple-inheritance-a-deep-dive</loc>
    <lastmod>2025-07-10T09:00:50.933Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/understanding-type-erasure-in-java-generics</loc>
    <lastmod>2025-07-09T09:00:40.885Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/implement-timer-node-synchronization-in-java-a-step-by-step-guide</loc>
    <lastmod>2025-07-08T09:01:03.168Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/facts-about-whether-an-int-array-can-hold-short-or-byte-values-in-java</loc>
    <lastmod>2025-07-07T09:00:55.929Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/dynamically-change-the-name-of-a-web-service-in-your-applications</loc>
    <lastmod>2025-07-06T09:00:55.985Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-1633-10-returns-6329999999999998-a-deep-dive-into-floating-point-arithmetic</loc>
    <lastmod>2025-07-05T09:00:30.954Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/why-the-yield-function-in-java-does-not-work-and-how-to-address-it</loc>
    <lastmod>2025-07-04T09:00:25.726Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/integer-overflow-in-objects-can-be-problematic-and-how-to-handle-it</loc>
    <lastmod>2025-07-03T09:00:33.121Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/intercept-instance-of-the-program-already-running</loc>
    <lastmod>2025-07-02T09:00:46.991Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://tuanhnet.hashnode.dev/what-is-git-submodules</loc>
    <lastmod>2025-06-30T09:00:44.987Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>