From 39c253aac4644a55805909fbed83cca51a30d493 Mon Sep 17 00:00:00 2001 From: Ihar Hancharenka Date: Mon, 6 Jan 2025 23:34:06 +0300 Subject: [PATCH] m --- pages/pages.txt | 7 +++++ .../messaging/kafka/docs/presentations.txt | 3 ++- pl/cross/methodologies/architecture/ddd.txt | 3 +++ pl/java/libfws/es-cqrs/axon.txt | 2 ++ pl/java/libfws/io/distributed/job/jobrunr.txt | 8 ------ .../orm/hibernate/features/subselect.txt | 3 +++ pl/java/libfws/spring/aop/docs/articles.txt | 6 ++++- pl/java/libfws/spring/aop/pointcuts.txt | 3 +++ pl/java/libfws/spring/bean/presentations.txt | 4 +++ pl/java/libfws/spring/boot/docs/whatsnew.txt | 14 ++++++++-- .../spring/boot/features/cfg/conditional.txt | 2 ++ .../libfws/spring/boot/features/cfg/ssl.txt | 2 ++ ...error-exception-process.txt => ex-err.txt} | 2 ++ .../spring/boot/{ => logging}/logging.txt | 0 .../libfws/spring/boot/logging/structured.txt | 5 ++++ pl/java/libfws/spring/boot/mvc/test.txt | 7 +++++ .../spring/boot/scheduling/db-scheduler.txt | 1 + .../libfws/spring/boot/scheduling/jobrunr.txt | 24 +++++++++++++++++ pl/java/libfws/spring/boot/test/mock.txt | 8 +++++- pl/java/libfws/spring/boot/tools/devtools.txt | 5 ++++ .../spring/data/features/datasource.txt | 3 +++ .../libfws/spring/data/features/ex-err.txt | 16 ++++++++++++ .../spring/data/jdbc/src/interesting.txt | 26 +++++++++++++++++++ .../data/jpa/features/nplusone/nplusone.txt | 13 ++++++---- .../spring/data/simple-jdbc-client/simple.txt | 18 +++++++++++++ pl/java/libfws/spring/data/test.txt | 3 +++ pl/java/libfws/spring/docs/whatsnew.txt | 6 +++++ .../{rest-client.txt => restclient.txt} | 3 +++ .../libfws/spring/rest/client/webclient.txt | 2 ++ .../spring/security/{oauth => }/testing.txt | 3 +++ .../features/dynamic-property.txt | 3 +++ security/handshake.txt | 1 + 32 files changed, 188 insertions(+), 18 deletions(-) delete mode 100644 pl/java/libfws/io/distributed/job/jobrunr.txt create mode 100644 pl/java/libfws/io/persistence/orm/hibernate/features/subselect.txt create mode 100644 pl/java/libfws/spring/aop/pointcuts.txt create mode 100644 pl/java/libfws/spring/bean/presentations.txt rename pl/java/libfws/spring/boot/features/{error-exception-process.txt => ex-err.txt} (98%) rename pl/java/libfws/spring/boot/{ => logging}/logging.txt (100%) create mode 100644 pl/java/libfws/spring/boot/logging/structured.txt create mode 100644 pl/java/libfws/spring/boot/scheduling/db-scheduler.txt create mode 100644 pl/java/libfws/spring/boot/scheduling/jobrunr.txt create mode 100644 pl/java/libfws/spring/data/features/datasource.txt create mode 100644 pl/java/libfws/spring/data/features/ex-err.txt create mode 100644 pl/java/libfws/spring/data/jdbc/src/interesting.txt create mode 100644 pl/java/libfws/spring/data/simple-jdbc-client/simple.txt rename pl/java/libfws/spring/rest/client/{rest-client.txt => restclient.txt} (88%) create mode 100644 pl/java/libfws/spring/rest/client/webclient.txt rename pl/java/libfws/spring/security/{oauth => }/testing.txt (84%) create mode 100644 pl/java/tools/quality/testing/testcontainers/features/dynamic-property.txt create mode 100644 security/handshake.txt diff --git a/pages/pages.txt b/pages/pages.txt index a04fb27b7..74dd46f69 100644 --- a/pages/pages.txt +++ b/pages/pages.txt @@ -4,6 +4,13 @@ try http pg internals 16 - 357 kafka - 76 +spring + spring.jdbc.getParameterType.ignore=false + SqlParameterValue + getParameterType + @AutoConfigureTestDatabase (for testcontainers) + spring/mvc/test assertJ stuff + Harrison - MongoDB 117 of 360 LiKongYu diff --git a/pl/cross/messaging/kafka/docs/presentations.txt b/pl/cross/messaging/kafka/docs/presentations.txt index 159de37a8..254171f6a 100644 --- a/pl/cross/messaging/kafka/docs/presentations.txt +++ b/pl/cross/messaging/kafka/docs/presentations.txt @@ -14,8 +14,9 @@ SelskiJavist - Kafka Fundamentals 0:00 of 2:09:05 at-least-onece, at-most-once, fixing offset, a lot of props transactions, partitions direct manip-n 2022 -SpringDeveloper - Long - Spring Tips: Spring Boot & Apache Kafka 0:00 of 42:58 +SpringDeveloper - Long - Spring Tips: Spring Boot & Apache Kafka of 42:58 https://www.youtube.com/watch?v=DJHUNSGh3K0 + ! 2:00 - Kafka is not a msg-system, but distributed log with almost linear scalability Slurm - Obkafkilsya 0:00 of 1:06:43 https://www.youtube.com/watch?v=5Sf8nKRQc8Y Slurm - Programming with Kafka 0:00 of 1:23:33 diff --git a/pl/cross/methodologies/architecture/ddd.txt b/pl/cross/methodologies/architecture/ddd.txt index 5d992da6f..8de1d2381 100644 --- a/pl/cross/methodologies/architecture/ddd.txt +++ b/pl/cross/methodologies/architecture/ddd.txt @@ -20,6 +20,9 @@ SpringIO - Implementing Domain Driven Design with Spring by Maciej Walkowiak of aggregates refer to each other by id, not by a direct reference model VOs with records 2023 +JPont - Morev - DDD in Action 0:00 of 51:53 + https://www.youtube.com/watch?v=c0f4HOfUGT0 + !!! Devoxx - REST next level : Crafting domain driven web APIs By Julien Topçu 0:00 of 50:52 https://www.youtube.com/watch?v=bHc8Gudrhdo DrawingBoxes - DDD Building Blocks of 4:26 diff --git a/pl/java/libfws/es-cqrs/axon.txt b/pl/java/libfws/es-cqrs/axon.txt index dbf4e4107..b613afb9e 100644 --- a/pl/java/libfws/es-cqrs/axon.txt +++ b/pl/java/libfws/es-cqrs/axon.txt @@ -11,6 +11,8 @@ http://www.axonframework.org/faq/ http://www.axonframework.org/apidocs/3.3/ 2024 +SpringDeveloper - Long - Spring Tips: CQRS and Axon Framework 1:00 of 1:03:03 + https://www.youtube.com/watch?v=FWJ3IzQp0fk SpringIO - Creating Future-Proof Spring Applications with Event Sourcing by Steve Pember 0:00 of 54:38 https://www.youtube.com/watch?v=xr6Gq3Cn4UQ 2019 diff --git a/pl/java/libfws/io/distributed/job/jobrunr.txt b/pl/java/libfws/io/distributed/job/jobrunr.txt deleted file mode 100644 index 5ecc5f819..000000000 --- a/pl/java/libfws/io/distributed/job/jobrunr.txt +++ /dev/null @@ -1,8 +0,0 @@ -https://www.jobrunr.io/ - -https://github.com/jobrunr/jobrunr -https://github.com/jobrunr/jobrunr/tree/master/tests/e2e-ui-gson -https://github.com/jobrunr/jobrunr/tree/master/tests/e2e-ui-jackson - -2021 -pl/java/libfws/io/distributed/job/jobrunr.txt diff --git a/pl/java/libfws/io/persistence/orm/hibernate/features/subselect.txt b/pl/java/libfws/io/persistence/orm/hibernate/features/subselect.txt new file mode 100644 index 000000000..67995c6b3 --- /dev/null +++ b/pl/java/libfws/io/persistence/orm/hibernate/features/subselect.txt @@ -0,0 +1,3 @@ +2024 +https://www.baeldung.com/hibernate-subselect + https://habr.com/ru/companies/spring_aio/articles/867662/ diff --git a/pl/java/libfws/spring/aop/docs/articles.txt b/pl/java/libfws/spring/aop/docs/articles.txt index 310566458..349598364 100644 --- a/pl/java/libfws/spring/aop/docs/articles.txt +++ b/pl/java/libfws/spring/aop/docs/articles.txt @@ -1,10 +1,13 @@ baeldung https://www.baeldung.com/spring-aop +https://www.baeldung.com/spring-aop-pointcut-tutorial 2023 https://habr.com/ru/articles/347752/ about proxies and transactional https://ashish-bania.medium.com/adding-aspects-to-spring-boot-project-d5890e489072 https://github.com/ashishbania/OpenBankingDemo +https://www.springcloud.io/post/2023-08/spring-aop-pointcut/#gsc.tab=0 + ! tons of code examples 2022 https://reflectoring.io/aop-spring/ https://www.geeksforgeeks.org/spring-boot-aopaspect-oriented-programming/ @@ -13,7 +16,8 @@ https://medium.com/walmartglobaltech/understanding-the-worker-ants-of-spring-aop https://habr.com/ru/post/597797/ 2018 https://dzone.com/articles/implementing-aop-with-spring-boot-and-aspectj -https://habrahabr.ru/post/347752/ +https://habr.com/ru/articles/347752/ +https://habr.com/ru/articles/428548/ http://mergetag.com/spring-aop-advice-on-annotated-controllers-2/ http://stackoverflow.com/questions/3991249/how-can-i-combine-aspect-with-controller-in-spring-3 diff --git a/pl/java/libfws/spring/aop/pointcuts.txt b/pl/java/libfws/spring/aop/pointcuts.txt new file mode 100644 index 000000000..b1335c666 --- /dev/null +++ b/pl/java/libfws/spring/aop/pointcuts.txt @@ -0,0 +1,3 @@ +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/support/package-summary.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/support/NameMatchMethodPointcut.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/support/ControlFlowPointcut.html diff --git a/pl/java/libfws/spring/bean/presentations.txt b/pl/java/libfws/spring/bean/presentations.txt new file mode 100644 index 000000000..777f15eb5 --- /dev/null +++ b/pl/java/libfws/spring/bean/presentations.txt @@ -0,0 +1,4 @@ +2024 +SpringDeveloper - Long - Spring Tips: Beans, Beans: What's in a Spring bean? 0:00 of 40:04 + https://www.youtube.com/watch?v=Z5hxolai4Tk + ! beanFactory, manual beans registration diff --git a/pl/java/libfws/spring/boot/docs/whatsnew.txt b/pl/java/libfws/spring/boot/docs/whatsnew.txt index 19b226b61..5037614b2 100644 --- a/pl/java/libfws/spring/boot/docs/whatsnew.txt +++ b/pl/java/libfws/spring/boot/docs/whatsnew.txt @@ -2,6 +2,14 @@ runtime("org.springframework.boot:spring-boot-properties-migrator") 3.x https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.4-Release-Notes + https://spring.io/blog/2024/11/25/bootiful-34-index + https://spring.io/blog/2024/11/24/bootiful-34-framework + https://spring.io/blog/2024/11/24/bootiful-34-data + https://spring.io/blog/2024/11/24/bootiful-34-security + https://dzen.ru/a/Z0o0xHzk5Gfj4iWx + https://digma.ai/spring-boot-3-4-what-to-keep-an-eye-on/ + https://habr.com/ru/companies/spring_aio/articles/861182/ + https://www.youtube.com/watch?v=ivKvlLJ_y4s https://habr.com/ru/companies/spring_aio/articles/836506/ ! 3.3 DevBcn - From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE 0:00 of 42:40 @@ -28,13 +36,15 @@ DanVega - Building a new application with Spring Boot 3.2 0:00 of 23:20 https://www.youtube.com/watch?v=w1Nzqm7MnZI https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2.0-Release-Notes https://vived.substack.com/p/spring-framework-61-and-spring-boot -SpringDeveloper - How Netflix Is Upgrading to Spring Boot 3 of 50:00 - https://www.youtube.com/watch?v=IMGcD08rdVw https://www.linkedin.com/learning/spring-6-and-spring-boot-3-first-look/spring-to-the-latest spring.factories is no longer supported META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports https://medium.com/@nonowak/whats-new-in-spring-boot-3-0-bed0b3ed080f https://www.baeldung.com/spring-boot-3-migration +SpringDeveloper - Spring Tips: Go Further and Faster with Spring Boot 3.3 (Updated) 0:00 of 36:56 + https://www.youtube.com/watch?v=zeY3Wg1ieqI +SpringDeveloper - How Netflix Is Upgrading to Spring Boot 3 of 50:00 + https://www.youtube.com/watch?v=IMGcD08rdVw SpringDeveloper - Long - Spring Tips: the road to Spring Boot 3: Spring Framework 6 0:00 of 28:36 https://www.youtube.com/watch?v=aUm5WZjh8RA Devoxx - Ahead Of Time and Native in Spring Boot 3 0 by Stéphane Nicoll & Brian Clozel 0:00 of 50:43 diff --git a/pl/java/libfws/spring/boot/features/cfg/conditional.txt b/pl/java/libfws/spring/boot/features/cfg/conditional.txt index 2c206e650..4b86cf7c7 100644 --- a/pl/java/libfws/spring/boot/features/cfg/conditional.txt +++ b/pl/java/libfws/spring/boot/features/cfg/conditional.txt @@ -4,6 +4,8 @@ https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spr @ConditionalOnBean(SomeBean.class) https://docs.spring.io/spring-boot/api/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBean.html +baeldung +https://www.baeldung.com/spring-conditionalonthreading 2019 https://reflectoring.io/spring-boot-conditionals/ https://habr.com/ru/articles/462541/ diff --git a/pl/java/libfws/spring/boot/features/cfg/ssl.txt b/pl/java/libfws/spring/boot/features/cfg/ssl.txt index fe364581c..74b8b453e 100644 --- a/pl/java/libfws/spring/boot/features/cfg/ssl.txt +++ b/pl/java/libfws/spring/boot/features/cfg/ssl.txt @@ -29,6 +29,8 @@ server: pem-format - just encoded in base64 +baeldung +https://www.baeldung.com/java-custom-truststore 2024 https://habr.com/ru/companies/sberbank/articles/870116/ ! diff --git a/pl/java/libfws/spring/boot/features/error-exception-process.txt b/pl/java/libfws/spring/boot/features/ex-err.txt similarity index 98% rename from pl/java/libfws/spring/boot/features/error-exception-process.txt rename to pl/java/libfws/spring/boot/features/ex-err.txt index eaa5f3407..fc424f0a7 100644 --- a/pl/java/libfws/spring/boot/features/error-exception-process.txt +++ b/pl/java/libfws/spring/boot/features/ex-err.txt @@ -2,6 +2,8 @@ https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.appl https://docs.spring.io/spring-boot/docs/3.2.2/api/org/springframework/boot/diagnostics/FailureAnalyzer.html https://docs.spring.io/spring-boot/docs/3.2.2/api/org/springframework/boot/diagnostics/FailureAnalysis.html +baeldung +https://www.baeldung.com/exception-handling-for-rest-with-spring 2024 BusyCoderAcademy - 5. Spring Boot Rest Project Employee Mgt Application with Ex handling Validation||Rajeev Gupta of 1:31:30 https://www.youtube.com/watch?v=XTk6fz1i9UA diff --git a/pl/java/libfws/spring/boot/logging.txt b/pl/java/libfws/spring/boot/logging/logging.txt similarity index 100% rename from pl/java/libfws/spring/boot/logging.txt rename to pl/java/libfws/spring/boot/logging/logging.txt diff --git a/pl/java/libfws/spring/boot/logging/structured.txt b/pl/java/libfws/spring/boot/logging/structured.txt new file mode 100644 index 000000000..88ca6836b --- /dev/null +++ b/pl/java/libfws/spring/boot/logging/structured.txt @@ -0,0 +1,5 @@ +https://docs.spring.io/spring-boot/reference/features/logging.html#features.logging.structured + +2024 +https://spring.io/blog/2024/08/23/structured-logging-in-spring-boot-3-4 + https://habr.com/ru/companies/spring_aio/articles/842226/ diff --git a/pl/java/libfws/spring/boot/mvc/test.txt b/pl/java/libfws/spring/boot/mvc/test.txt index bc956cf55..b3a0d9ba1 100644 --- a/pl/java/libfws/spring/boot/mvc/test.txt +++ b/pl/java/libfws/spring/boot/mvc/test.txt @@ -1,3 +1,10 @@ +https://docs.spring.io/spring-framework/reference/testing/mockmvc.html + MockMvc can be used on its own to perform requests and verify responses using Hamcrest + or through MockMvcTester which provides a fluent API using AssertJ +https://docs.spring.io/spring-framework/reference/testing/mockmvc/assertj.html +https://docs.spring.io/spring-framework/reference/testing/mockmvc/assertj/setup.html +https://docs.spring.io/spring-framework/reference/testing/mockmvc/assertj/requests.html + 2023 https://habr.com/ru/companies/otus/articles/747852/ https://habr.com/ru/companies/otus/articles/746414/ diff --git a/pl/java/libfws/spring/boot/scheduling/db-scheduler.txt b/pl/java/libfws/spring/boot/scheduling/db-scheduler.txt new file mode 100644 index 000000000..9321bb055 --- /dev/null +++ b/pl/java/libfws/spring/boot/scheduling/db-scheduler.txt @@ -0,0 +1 @@ +https://github.com/kagkarlsson/db-scheduler diff --git a/pl/java/libfws/spring/boot/scheduling/jobrunr.txt b/pl/java/libfws/spring/boot/scheduling/jobrunr.txt new file mode 100644 index 000000000..748f0b953 --- /dev/null +++ b/pl/java/libfws/spring/boot/scheduling/jobrunr.txt @@ -0,0 +1,24 @@ +https://www.jobrunr.io/ + +https://github.com/jobrunr/jobrunr +https://github.com/jobrunr/jobrunr/tree/master/tests/e2e-ui-gson +https://github.com/jobrunr/jobrunr/tree/master/tests/e2e-ui-jackson + +https://www.jobrunr.io/en/documentation/ +https://www.jobrunr.io/en/documentation/configuration/spring/ +https://www.jobrunr.io/en/guides/ +https://www.jobrunr.io/en/guides/intro/java-job-request/ +https://www.jobrunr.io/en/blog/ + +alt-s +https://temporal.io/ +https://github.com/temporalio +https://kestra.io/ +https://github.com/kestra-io/kestra + +baeldung +https://www.baeldung.com/java-jobrunr-spring +2024 +https://www.jobrunr.io/en/blog/2024-10-31-task-schedulers-java-modern-alternatives-to-quartz/ +2021 +https://medium.com/@salmankhan_27014/jobrunr-practical-example-in-java-6d2db3d6da1 diff --git a/pl/java/libfws/spring/boot/test/mock.txt b/pl/java/libfws/spring/boot/test/mock.txt index 1c1a360cb..1744f5872 100644 --- a/pl/java/libfws/spring/boot/test/mock.txt +++ b/pl/java/libfws/spring/boot/test/mock.txt @@ -1,6 +1,12 @@ +https://docs.spring.io/spring-framework/reference/testing/annotations/integration-spring/annotation-mockitobean.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/context/bean/override/mockito/MockitoBean.html + baeldung https://www.baeldung.com/spring-beans-integration-test-override - @MockBean + @MockBean is deprecated now +2024 +https://habr.com/ru/companies/spring_aio/articles/859430/ + ! bean redef using @TestBean, @MockitoBean 2019 https://reflectoring.io/spring-boot-mock/ https://github.com/thombergs/code-examples/tree/master/spring-boot/mocking diff --git a/pl/java/libfws/spring/boot/tools/devtools.txt b/pl/java/libfws/spring/boot/tools/devtools.txt index 6cbeed039..a059ce4eb 100644 --- a/pl/java/libfws/spring/boot/tools/devtools.txt +++ b/pl/java/libfws/spring/boot/tools/devtools.txt @@ -1,3 +1,4 @@ +https://docs.spring.io/spring-boot/reference/using/devtools.html https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools.livereload @@ -11,6 +12,10 @@ https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spr https://central.sonatype.com/artifact/org.springframework.boot/spring-boot-devtools/3.0.4 +@RefreshScope +https://docs.spring.io/spring-cloud-commons/reference/spring-cloud-commons/application-context-services.html#refresh-scope +https://dev.to/saladlam/spring-cloud-refresh-scope-bean-2149 + cfg ~/.spring-boot-devtools.properties diff --git a/pl/java/libfws/spring/data/features/datasource.txt b/pl/java/libfws/spring/data/features/datasource.txt new file mode 100644 index 000000000..64a7f7a87 --- /dev/null +++ b/pl/java/libfws/spring/data/features/datasource.txt @@ -0,0 +1,3 @@ +2024 +SpringDeveloper - Long - Spring Tips: Datasources 0:00 of 57:39 + https://www.youtube.com/watch?v=rt_cUtb8LnQ diff --git a/pl/java/libfws/spring/data/features/ex-err.txt b/pl/java/libfws/spring/data/features/ex-err.txt new file mode 100644 index 000000000..d883c74bb --- /dev/null +++ b/pl/java/libfws/spring/data/features/ex-err.txt @@ -0,0 +1,16 @@ +https://docs.spring.io/spring-framework/reference/data-access/jdbc/core.html#jdbc-SQLExceptionTranslator +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/support/SQLExceptionTranslator.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/support/CustomSQLExceptionTranslatorRegistry.html +https://github.com/spring-projects/spring-framework/issues/24634 + +!!! + need to find actual translator for pg + +??? +https://javarush.com/quests/lectures/questspring.level03.lecture10 +baeldung +https://www.baeldung.com/spring-jdbc-jdbctemplate + + +samples +https://github.com/hakanozbay/database-error-handling diff --git a/pl/java/libfws/spring/data/jdbc/src/interesting.txt b/pl/java/libfws/spring/data/jdbc/src/interesting.txt new file mode 100644 index 000000000..fe37860e8 --- /dev/null +++ b/pl/java/libfws/spring/data/jdbc/src/interesting.txt @@ -0,0 +1,26 @@ +package org.springframework.data.jdbc.core; + +public class JdbcAggregateTemplate implements JdbcAggregateOperations { + ... + private final AggregateChangeExecutor executor; + ... + private T performSave(EntityAndChangeCreator instance) { + + // noinspection unchecked + BatchingAggregateChange> batchingAggregateChange = // + BatchingAggregateChange.forSave((Class) ClassUtils.getUserClass(instance.entity)); + batchingAggregateChange.add(beforeExecute(instance)); + + Iterator afterExecutionIterator = executor.executeSave(batchingAggregateChange).iterator(); // ! + + Assert.isTrue(afterExecutionIterator.hasNext(), "Instances after execution must not be empty"); + + return afterExecute(batchingAggregateChange, afterExecutionIterator.next()); + } + ... +} + +class AggregateChangeExecutor { + ... + ... +} diff --git a/pl/java/libfws/spring/data/jpa/features/nplusone/nplusone.txt b/pl/java/libfws/spring/data/jpa/features/nplusone/nplusone.txt index 1cef599ea..7242884ad 100644 --- a/pl/java/libfws/spring/data/jpa/features/nplusone/nplusone.txt +++ b/pl/java/libfws/spring/data/jpa/features/nplusone/nplusone.txt @@ -1,3 +1,11 @@ +baeldung +https://www.baeldung.com/cs/orm-n-plus-one-select-problem +https://www.baeldung.com/spring-hibernate-n1-problem + https://github.com/eugenp/tutorials/tree/master/persistence-modules/spring-boot-persistence-4 +https://www.baeldung.com/hibernate-fetchmode + FetchMode +https://www.baeldung.com/hibernate-common-performance-problems-in-logs + !!! 2024 https://habr.com/ru/companies/magnit/articles/814573/ 2023 @@ -16,8 +24,6 @@ https://habr.com/ru/companies/rosbank/articles/743536/ Support using ARRAY parameter for handling keys in Session#byMultipleIds and Session#byMultipleNaturalId -https://www.baeldung.com/hibernate-common-performance-problems-in-logs - !!! https://habr.com/ru/companies/rosbank/articles/743536/ 2022 https://hackernoon.com/3-ways-to-deal-with-hibernate-n1-problem @@ -39,6 +45,3 @@ https://allaroundjava.com/hibernate-n1-selects-problem/ https://thorben-janssen.com/5-ways-to-initialize-lazy-relations-and-when-to-use-them/ https://stackoverflow.com/questions/32453989/what-is-the-solution-for-the-n1-issue-in-jpa-and-hibernate - -FetchMode - https://www.baeldung.com/hibernate-fetchmode diff --git a/pl/java/libfws/spring/data/simple-jdbc-client/simple.txt b/pl/java/libfws/spring/data/simple-jdbc-client/simple.txt new file mode 100644 index 000000000..12d87e9cf --- /dev/null +++ b/pl/java/libfws/spring/data/simple-jdbc-client/simple.txt @@ -0,0 +1,18 @@ +https://docs.spring.io/spring-framework/reference/data-access/jdbc/core.html#jdbc-JdbcClient + +https://docs.spring.io/spring-framework/reference/data-access/jdbc/simple.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/simple/package-summary.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcInsert.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/simple/SimpleJdbcCall.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/simple/JdbcClient.html + +baeldung +https://www.baeldung.com/spring-6-jdbcclient-api +???? +https://javarush.com/quests/lectures/questspring.level03.lecture14 +2023 +https://howtodoinjava.com/spring-data/spring-jdbcclient-with-examples/ + ! .paramSource(someObj) + ! no support for batch ops +2019 +https://alexkosarev.name/2019/05/04/spring-framework-simple-jdbc-insert/ diff --git a/pl/java/libfws/spring/data/test.txt b/pl/java/libfws/spring/data/test.txt index 18fd0aeb8..378dd37dc 100644 --- a/pl/java/libfws/spring/data/test.txt +++ b/pl/java/libfws/spring/data/test.txt @@ -1,2 +1,5 @@ +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/jdbc/JdbcTestUtils.html +https://www.baeldung.com/spring-jdbctemplate-testing#spring-boot-jdbctest + spring.test.database.replace: none https://habr.com/ru/articles/446184/ diff --git a/pl/java/libfws/spring/docs/whatsnew.txt b/pl/java/libfws/spring/docs/whatsnew.txt index 72a9fd0e0..92aa3c68f 100644 --- a/pl/java/libfws/spring/docs/whatsnew.txt +++ b/pl/java/libfws/spring/docs/whatsnew.txt @@ -1,6 +1,12 @@ https://github.com/spring-projects/spring-framework/wiki/What's-New-in-the-Spring-Framework +7.x +https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-7.0-Release-Notes 6.x +https://github.com/spring-projects/spring-framework/wiki/What's-New-in-Spring-Framework-6.x + https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.2-Release-Notes + https://spring.io/blog/2024/10/01/from-spring-framework-6-2-to-7-0 + https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.1-Release-Notes https://vladmihalcea.com/spring-6-migration/ https://github.com/spring-projects/spring-framework/wiki/What's-New-in-Spring-Framework-6.x https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga diff --git a/pl/java/libfws/spring/rest/client/rest-client.txt b/pl/java/libfws/spring/rest/client/restclient.txt similarity index 88% rename from pl/java/libfws/spring/rest/client/rest-client.txt rename to pl/java/libfws/spring/rest/client/restclient.txt index 6340f3f4c..1e5693804 100644 --- a/pl/java/libfws/spring/rest/client/rest-client.txt +++ b/pl/java/libfws/spring/rest/client/restclient.txt @@ -1,3 +1,6 @@ +https://docs.spring.io/spring-boot/reference/io/rest-client.html +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestClient.html + baeldung https://www.baeldung.com/restclienttest-in-spring-boot 2024 diff --git a/pl/java/libfws/spring/rest/client/webclient.txt b/pl/java/libfws/spring/rest/client/webclient.txt new file mode 100644 index 000000000..7f81f18e4 --- /dev/null +++ b/pl/java/libfws/spring/rest/client/webclient.txt @@ -0,0 +1,2 @@ +https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/function/client/WebClient.html +https://docs.spring.io/spring-boot/api/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientSsl.html diff --git a/pl/java/libfws/spring/security/oauth/testing.txt b/pl/java/libfws/spring/security/testing.txt similarity index 84% rename from pl/java/libfws/spring/security/oauth/testing.txt rename to pl/java/libfws/spring/security/testing.txt index 2c35db62e..793e22800 100644 --- a/pl/java/libfws/spring/security/oauth/testing.txt +++ b/pl/java/libfws/spring/security/testing.txt @@ -9,5 +9,8 @@ org.springframework.security.test.context.support.WithSecurityContextTestExecuti 2023 https://www.baeldung.com/spring-oauth-testing-access-control https://github.com/eugenp/tutorials/tree/master/spring-security-modules/spring-security-oauth2-testing +2021 +SpringDeveloper - Test-Driven Security 0:00 of 22:25 + https://www.youtube.com/watch?v=TytSz7u1xQ8 2019 https://medium.com/@mark.hoogenboom/testing-a-spring-boot-application-secured-by-oauth-e40d1e9a6f60 diff --git a/pl/java/tools/quality/testing/testcontainers/features/dynamic-property.txt b/pl/java/tools/quality/testing/testcontainers/features/dynamic-property.txt new file mode 100644 index 000000000..cb0abc3f9 --- /dev/null +++ b/pl/java/tools/quality/testing/testcontainers/features/dynamic-property.txt @@ -0,0 +1,3 @@ +2024 +https://digma.ai/spring-boot-3-4-what-to-keep-an-eye-on/ + !!! Depr-n of DynamicPropertyRegistry (now use Registrar) diff --git a/security/handshake.txt b/security/handshake.txt new file mode 100644 index 000000000..bb7d5e47f --- /dev/null +++ b/security/handshake.txt @@ -0,0 +1 @@ +https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https