Этот коммит содержится в:
Ihar Hancharenka 2025-01-03 21:32:13 +03:00
родитель ba536c6777
Коммит 234ea3682d
34 изменённых файлов: 154 добавлений и 55 удалений

Просмотреть файл

@ -5,3 +5,8 @@ Hock - Clean Code Fundamentals
2021
Martin - Clean Architecture ru
????
2019
Hombergs - Get Your Hands Dirty on Clean Architecture
B648411C0EECC3459B070CE285F2A643
EF9D424917E75149046F7BB65EB2708B
! good, small, java spring samples

Просмотреть файл

@ -3,6 +3,9 @@ dmdev - Java Date and Time API 0:00 of 32:32
https://www.youtube.com/watch?v=5QzLsYQRt0I
2023
https://jonasg.io/posts/how-to-effectively-test-time-dependent-code/
2022
https://reflectoring.io/spring-timezones/
!!!, using Clock for UTs
2017
https://codeblog.jonskeet.uk/2017/04/23/all-about-java-util-date/
2015

Просмотреть файл

@ -0,0 +1,2 @@
2024
https://reflectoring.io/one-stop-guide-to-java-functional-interfaces/

Просмотреть файл

@ -2,6 +2,10 @@
https://piotrminkowski.com/2024/04/25/interesting-facts-about-java-streams-and-collections/
! aggregate, partitionBy, gather, slidingWindow
2022
https://reflectoring.io/comprehensive-guide-to-java-streams/
https://github.com/thombergs/code-examples/tree/master/core-java/streams/data-streams
! Stream.ofNullable()
! generate, iterate -> unbound streams
https://habr.com/ru/post/693666/
2019
https://medium.com/glovo-engineering/method-references-the-unpolished-gem-of-java-8-e7264dfdfcf4

Просмотреть файл

@ -3,6 +3,13 @@ com.fasterxml.jackson.annotation.JsonInclude
https://www.tutorialspoint.com/jackson_annotations/jackson_annotations_jsoncreator.htm
@JsonCreator
https://reflectoring.io/spring-jsoncreator/
@JsonView
https://reflectoring.io/jackson-jsonview-tutorial/
https://github.com/thombergs/code-examples/tree/master/spring-boot/jackson-jsonview
https://spring.io/blog/2014/12/02/latest-jackson-integration-improvements-in-spring
2023
https://www.baeldung.com/jackson-annotations
2020

Просмотреть файл

@ -0,0 +1,15 @@
2013
https://solidsyntax.be/2013/12/07/howto-use-jaxb-class-customization-avoid-xsd-conflicts/
<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.1">
<jxb:bindings schemaLocation="xsd/CommonTypes.xsd">
<jxb:bindings node="//xs:complexType[@name='AnXSDType']">
<jxb:class name="AnXSDTypeFromCommonTypes"/>
</jxb:bindings>
</jxb:bindings>
<jxb:bindings schemaLocation="xsd/EvenMoreCommonTypes.xsd">
<jxb:bindings node="//xs:complexType[@name='AnXSDType']">
<jxb:class name="AnXSDTypeFromEvenMoreCommonTypes"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
xjc -d outputDir -b binding.xml MySchema.xsd

Просмотреть файл

@ -23,13 +23,22 @@ idea-plugin
https://plugins.jetbrains.com/plugin/10036-mapstruct-support
https://github.com/mapstruct/mapstruct-idea
baeldung
https://www.baeldung.com/tag/mapstruct
https://www.baeldung.com/mapstruct
2024
https://habr.com/ru/articles/818489/
https://github.com/yayauheny/javanotice-mapstruct
2023
https://www.baeldung.com/mapstruct
2022
https://reflectoring.io/java-mapping-with-mapstruct/
https://github.com/thombergs/code-examples/tree/master/mapstruct
! @MappingTarget - for updating existing instances
!!! Exceptions throwing during mapping
! using Formatters
! mapping collections, streams, enums
! default values/expressions and constraints
! @DecoratedWith, @BeforeMapping, @AfterMapping
! additional cfg-options
2020
Lviv JavaClub - [Event 159] - MapStruct 0:00 of 1:05:32
https://www.youtube.com/watch?v=0fNKc0daZ-c

Просмотреть файл

@ -1,10 +1,12 @@
baeldung
https://www.baeldung.com/spring-aop
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
2022
https://www.baeldung.com/spring-aop
https://reflectoring.io/aop-spring/
https://www.geeksforgeeks.org/spring-boot-aopaspect-oriented-programming/
2021
https://medium.com/walmartglobaltech/understanding-the-worker-ants-of-spring-aop-proxies-902208881493

Просмотреть файл

@ -4,3 +4,7 @@ management.endpoint.health.show-details=always
https://wearecommunity.io/communities/jacov/articles/5135
! CustomHealthIndicator
https://github.com/saikrishnasaski/orders-api
2020
https://reflectoring.io/spring-boot-health-check/
https://github.com/thombergs/code-examples/tree/master/spring-boot/spring-boot-health-check
! registered and custom health indicators

Просмотреть файл

@ -1,6 +1,9 @@
https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition
@ConditionalOnProperty("...")
@ConditionalOnBean(SomeBean.class)
https://docs.spring.io/spring-boot/api/java/org/springframework/boot/autoconfigure/condition/ConditionalOnBean.html
2019
https://reflectoring.io/spring-boot-conditionals/
https://habr.com/ru/articles/462541/

Просмотреть файл

@ -89,6 +89,7 @@ https://betterprogramming.pub/kafka-with-java-spring-and-docker-asynchronous-com
2021
https://spring.io/blog/2021/02/03/demystifying-spring-cloud-stream-producers-with-apache-kafka-partitions
2020
https://reflectoring.io/spring-boot-kafka/
https://www.confluent.io/blog/apache-kafka-spring-boot-application/
https://arnoldgalovics.com/fault-tolerant-and-reliable-messaging-with-kafka-and-spring-boot/
https://habr.com/ru/post/505720/

Просмотреть файл

@ -1,13 +1,17 @@
2023
https://www.baeldung.com/spring-boot-testing-pitfalls
2021
https://www.baeldung.com/integration-testing-in-spring
2020
baeldung
https://www.baeldung.com/spring-boot-testing
!!!
https://www.baeldung.com/spring-boot-testing-pitfalls
https://www.baeldung.com/integration-testing-in-spring
2021
https://reflectoring.io/spring-boot-test/
https://github.com/thombergs/code-examples/tree/master/spring-boot/spring-boot-testing
https://reflectoring.io/spring-boot-web-controller-test/
2019
https://habr.com/ru/post/446184/
https://reflectoring.io/spring-boot-data-jpa-test/
https://reflectoring.io/unit-testing-spring-boot/
https://habr.com/ru/post/446184/
2018
https://habr.com/post/431306/
https://dzone.com/articles/unit-and-integration-tests-in-spring-boot-2

Просмотреть файл

@ -0,0 +1 @@
https://docs.spring.io/spring-boot/api/java/org/springframework/boot/test/context/SpringBootTest.html

Просмотреть файл

@ -2,5 +2,5 @@ import org.springframework.test.annotation.DirtiesContext;
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
2019
baeldung
https://www.baeldung.com/spring-dirtiescontext

Просмотреть файл

@ -1,3 +1,8 @@
@MockBean
baeldung
https://www.baeldung.com/spring-beans-integration-test-override
@MockBean
2019
https://reflectoring.io/spring-boot-mock/
https://github.com/thombergs/code-examples/tree/master/spring-boot/mocking
https://stackoverflow.com/questions/40563409/configure-mockbean-component-before-application-start

Просмотреть файл

@ -1,3 +1,6 @@
2021
https://reflectoring.io/spring-boot-cache/
https://github.com/thombergs/code-examples/tree/master/spring-boot/cache
2020
https://www.baeldung.com/spring-multiple-cache-managers
2019

Просмотреть файл

@ -1,5 +1,4 @@
2023
https://reflectoring.io/create-openfeign-http-client/
https://habr.com/ru/post/719934/
https://habr.com/ru/post/717610/
2022
https://www.baeldung.com/spring-cloud-feign-oauth-token

Просмотреть файл

@ -1,13 +1,4 @@
2.2.0.RELEASE
+--- org.springframework.cloud:spring-cloud-starter-security -> 2.2.0.RELEASE
| +--- org.springframework.cloud:spring-cloud-starter:2.2.0.RELEASE (*)
| \--- org.springframework.cloud:spring-cloud-security:2.2.0.RELEASE
https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html
https://javadoc.io/doc/org.springframework.cloud/spring-cloud-security/latest/index.html
https://github.com/spring-cloud/spring-cloud-security/blob/master/spring-cloud-security
OAuth2FeignRequestInterceptor
https://github.com/spring-cloud/spring-cloud-security/blob/master/spring-cloud-security/src/main/java/org/springframework/cloud/security/oauth2/client/feign/OAuth2FeignRequestInterceptor.java
@ -16,6 +7,8 @@ https://github.com/spring-cloud/spring-cloud-security/blob/master/spring-cloud-s
cfg
https://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/client/resource/OAuth2ProtectedResourceDetails.html
baeldung
https://www.baeldung.com/spring-cloud-feign-oauth-token
2017
https://stackoverflow.com/questions/45859676/spring-cloud-feign-oauth2-request-interceptor-is-not-working

Просмотреть файл

@ -0,0 +1 @@
https://github.com/OpenFeign/feign

Просмотреть файл

@ -32,6 +32,8 @@ https://blog.tejanshrana.com/server-side-input-validation-in-java
https://habr.com/ru/post/536612/
2020
https://habr.com/ru/post/505628/
2019
https://reflectoring.io/bean-validation-anti-patterns/
2018
https://reflectoring.io/bean-validation-with-spring-boot/
https://habr.com/ru/post/424819/

Просмотреть файл

@ -1,8 +1,10 @@
https://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html
2024
baeldung
https://www.baeldung.com/spring-programmatic-transaction-management
2023
https://reflectoring.io/spring-transactions-and-exceptions/
rollbackFor, noRollbackFo, default - onnly in the case of runtime, unchecked exceptions (RuntimeException, Error)
https://habr.com/ru/post/725064/
2022
JPointJokerAndJUGRu - Letov - Use Transactional Like a Pro of 1:16:30

Просмотреть файл

@ -9,3 +9,6 @@ https://www.baeldung.com/flyway-callbacks
https://habr.com/ru/companies/haulmont/articles/829782/
!!! amplicode, jpa-based
equals/hashcode - check objects for HibernateProxy
2020
https://reflectoring.io/database-migration-spring-boot-flyway/
!!! java-based migration

Просмотреть файл

@ -16,3 +16,6 @@ https://www.baeldung.com/java-postgresql-create-schema-before-liquibase
2024
https://habr.com/ru/companies/haulmont/articles/826188/
! amplicode
2020
https://reflectoring.io/database-migration-spring-boot-liquibase/
https://github.com/thombergs/code-examples/tree/master/spring-boot/data-migration/liquibase

Просмотреть файл

@ -1,6 +1,8 @@
2022
baeldung
https://www.baeldung.com/spring-boot-application-configuration
ConfigurableServletWebServerFactory, port number
2023
https://reflectoring.io/beginner-friendly-guide-to-spring-java-config/
2020
https://springframework.guru/spring-external-configuration-data/
https://habr.com/ru/company/otus/blog/576910/

Просмотреть файл

@ -1 +0,0 @@
https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition

Просмотреть файл

@ -1,8 +1,10 @@
https://www.baeldung.com/security-spring
baeldung
https://www.baeldung.com/security-spring
2024
https://reflectoring.io/spring-security-jwt/
https://habr.com/ru/articles/815285/
! combined
! combined, using github auth
2023
https://habr.com/ru/articles/781066/
https://gitlab.com/SilverRid/SpringSecurityJWT

Просмотреть файл

@ -6,3 +6,14 @@ Headers
Access-Control-Allow-Headers: ... limitation, to which headers
@CrossOrigin
@CorsConfiguration
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/cors/CorsConfiguration.html
2022
https://reflectoring.io/spring-cors/
@CrossOrigin, web.cors:, WebMvcConfigurer.addCorsMappings(CorsRegistry r)
https://github.com/thombergs/code-examples/tree/master/spring-boot/cors/configuring-cors-with-spring
2021
https://reflectoring.io/complete-guide-to-cors/
https://github.com/thombergs/code-examples/tree/master/cors

Просмотреть файл

@ -1,32 +1,34 @@
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/index.html
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/overview.html
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/getting-started.html
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/configuration-model.html
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/core-model-components.html
https://docs.spring.io/spring-authorization-server/docs/current/reference/html/protocol-endpoints.html
https://docs.spring.io/spring-authorization-server/reference/index.html
https://docs.spring.io/spring-authorization-server/reference/overview.html
https://docs.spring.io/spring-authorization-server/reference/how-to.html
https://docs.spring.io/spring-authorization-server/reference/getting-started.html
https://docs.spring.io/spring-authorization-server/reference/configuration-model.html
https://github.com/spring-projects/spring-authorization-server
1.4.1 at the moment
https://docs.spring.io/spring-authorization-server/docs/current/api/
implementation 'org.springframework.security:spring-security-oauth2-authorization-server:1.0.0'
https://github.com/spring-projects/spring-authorization-server/wiki/Feature-List
https://github.com/Baeldung/spring-security-oauth/tree/master/oauth-authorization-server
specs
https://github.com/spring-projects-experimental/spring-authorization-server/wiki/OAuth-2.0-Specifications
The OAuth 2.0 Authorization Framework
https://datatracker.ietf.org/doc/html/rfc6749
https://github.com/spring-projects/spring-security-samples
https://github.com/spring-projects/spring-authorization-server/tree/main/samples
implementation 'org.springframework.security:spring-security-oauth2-authorization-server:1.0.0'
https://github.com/spring-projects/spring-authorization-server
https://github.com/spring-projects/spring-authorization-server/wiki/Feature-List
https://github.com/Baeldung/spring-security-oauth/tree/master/oauth-authorization-server
https://github.com/spring-projects-experimental/spring-authorization-server
https://tools.ietf.org/html/rfc6749#section-1.1
specs
https://github.com/spring-projects-experimental/spring-authorization-server/wiki/OAuth-2.0-Specifications
samples
https://github.com/spring-projects/spring-authorization-server/tree/main/samples
https://github.com/spring-projects/spring-security-samples
2024
https://reflectoring.io/spring-security-jwt/
! good, with tests
2023
https://habr.com/ru/articles/746698/
https://github.com/dlabs71/spring-authorization-server-example

Просмотреть файл

@ -11,6 +11,8 @@ import org.junit.jupiter.params.ParameterizedTest;
@CsvSource, @CsvFileSource
@ArgumentsSource, custom ArgumentsProvider
2023
https://reflectoring.io/tutorial-junit5-parameterized-tests/
2021
https://mikemybytes.com/2021/10/19/parameterize-like-a-pro-with-junit-5-csvsource/
2019

Просмотреть файл

@ -1,3 +1,5 @@
baeldung
https://www.baeldung.com/cs/faking-mocking-stubbing
2022
https://howtodoinjava.com/mockito/mockito-mock-injectmocks/
@Mock vs @InjectMocks (SUT)

Просмотреть файл

@ -0,0 +1,2 @@
baeldung
https://www.baeldung.com/cs/faking-mocking-stubbing

Просмотреть файл

@ -1,10 +1,10 @@
http://www.baeldung.com/spring-boot-kotlin
https://auth0.com/blog/developing-restful-apis-with-kotlin/
https://moelholm.com/2017/03/12/spring-boot-hello-world-kotlin/
https://spring.io/guides/tutorials/spring-boot-kotlin
spring-boot-graph-ql:
https://blog.pusher.com/writing-graphql-service-using-kotlin-spring-boot/
baeldung
http://www.baeldung.com/spring-boot-kotlin
2019
https://www.infoq.com/presentations/spring-kotlin-boot-kofu/
??? kofu - the mother of all dsl
@ -16,5 +16,7 @@ https://www.infoq.com/presentations/spring-kotlin-boot
https://speakerdeck.com/sdeleuze/why-spring-loves-kotlin
https://medium.com/@codemwnci/kotlin-springboot-and-websockets-276029b22482
2017
https://auth0.com/blog/developing-restful-apis-with-kotlin/
https://moelholm.com/2017/03/12/spring-boot-hello-world-kotlin/
Long - Bootiful Kotlin
https://www.youtube.com/watch?v=naUSEu79d4Y

Просмотреть файл

@ -1,8 +1,10 @@
http://mockk.io/
https://github.com/oleksiyp/mockk
https://habrahabr.ru/post/341202/
https://github.com/mockk/mockk
https://github.com/Ninja-Squad/springmockk
2023
https://reflectoring.io/introduction-to-mockk/
2019
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-mockk-advanced-features-42277e5983b5
2018
@ -12,3 +14,5 @@ https://medium.com/@darych90/kotlin-spring-boot-mockk-6d1c1a6463ac
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-mockk-features-e5d55d735a98
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-basics-ae55d0aadf2b
https://blog.kotlin-academy.com/mocking-is-not-rocket-science-expected-behavior-and-behavior-verification-3862dd0e0f03
2017
https://habrahabr.ru/post/341202/