Go to file
Sam Brannen d3fba6d49b Support pattern matching for method names in ControlFlowPointcut
Prior to this commit, ControlFlowPointcut supported a single method
name which was matched exactly. Although it was possible to extend
ControlFlowPointcut to add support for pattern matching, it was a bit
cumbersome.

To address that, this commit introduces built-in pattern matching
support for method names in ControlFlowPointcut, analogous to the
pattern matching support in NameMatchMethodPointcut.

Specifically, a user can provide one or more method name patterns, and
the patterns will be matched against candidate method names using OR
semantics.

By default, the matching algorithm delegates to
PatternMatchUtils.simpleMatch(), but this can be overridden in
subclasses by overriding the new protected isMatch() method.

Closes gh-31435
2023-10-27 18:01:36 +02:00
.github Use the shared antora playbook 2023-05-04 15:35:05 +01:00
buildSrc Polish "Order modifiers to align with JLS" 2023-10-17 16:16:58 +02:00
ci Configure JDK 22 compatibility build on CI 2023-10-19 13:59:13 +02:00
framework-api Polish 2023-09-07 16:07:52 +02:00
framework-bom Guard against new Spring modules in ApiDiff task 2022-07-28 10:51:53 +02:00
framework-docs More polishing on forwarded header scenarios 2023-10-25 16:17:37 +01:00
framework-platform Upgrade to EclipseLink 3.0.4 2023-10-26 12:00:03 +02:00
gradle Configure JDK 22 compatibility build on CI 2023-10-19 13:59:13 +02:00
integration-tests Update copyright headers 2023-10-22 11:28:40 +02:00
spring-aop Support pattern matching for method names in ControlFlowPointcut 2023-10-27 18:01:36 +02:00
spring-aspects Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
spring-beans Import ConstructorResolver to handle null values 2023-10-25 17:59:11 +02:00
spring-context Refine decision to create object for constructor injection 2023-10-25 13:22:25 +01:00
spring-context-indexer Reinstate support for javax.* annotations in component indexer 2023-08-28 18:22:21 +02:00
spring-context-support Apply SingleSpaceSeparator Checkstyle module 2023-10-22 14:09:57 +02:00
spring-core Polish PatternMatchUtils[Tests] 2023-10-27 17:44:44 +02:00
spring-core-test Apply SingleSpaceSeparator Checkstyle module 2023-10-22 14:09:57 +02:00
spring-expression Apply SingleSpaceSeparator Checkstyle module 2023-10-22 14:09:57 +02:00
spring-instrument Ensure all packages declare package-info.java with null-safety annotations 2023-03-10 17:33:52 +01:00
spring-jcl Align abstract method signatures with original Commons Logging API 2023-09-11 17:36:07 +02:00
spring-jdbc Test quoted identifiers in schema in SimpleJdbcInsert 2023-10-24 14:36:10 +02:00
spring-jms Polishing 2023-10-23 16:56:40 +02:00
spring-messaging Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
spring-orm Fix spring-orm tests with eclipselink and Java 18+ 2023-10-24 16:49:58 +02:00
spring-oxm Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
spring-r2dbc Apply SingleSpaceSeparator Checkstyle module 2023-10-22 14:09:57 +02:00
spring-test Support ContextLoader config in @⁠SpringJUnit[Web]Config 2023-10-25 16:12:17 +02:00
spring-tx Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
spring-web Add maxParts and maxPartSize to PartEventHttpMessageReader 2023-10-25 15:18:35 +02:00
spring-webflux Allow ETag generation configuration on ResourceHandlerRegistration 2023-10-25 16:02:59 +02:00
spring-webmvc Allow ETag generation configuration on ResourceHandlerRegistration 2023-10-25 16:02:59 +02:00
spring-websocket Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
src Polish "Apply SingleSpaceSeparator Checkstyle module" 2023-10-22 14:18:18 +02:00
.editorconfig Add EditorConfig 2017-06-12 08:07:54 +02:00
.gitattributes Ensure line endings for binary files are not modified in Git 2019-10-18 11:56:18 +02:00
.gitignore Add `/framework-*/build` to .gitignore 2023-09-02 18:28:24 +02:00
.mailmap Add Simon to mailmap 2023-01-11 15:26:31 +01:00
.sdkmanrc Updated Java 17 version in sdkmanrc 2023-10-11 10:36:29 +02:00
CODE_OF_CONDUCT.adoc URL Cleanup 2019-03-21 15:08:55 -05:00
CONTRIBUTING.md Update regarding Antora, etc. 2023-07-07 11:18:43 +02:00
LICENSE.txt Add LICENSE.txt file 2019-08-20 22:01:12 +02:00
README.md Update links 2023-07-07 11:00:53 +02:00
SECURITY.md Mention JAR signing key in SECURITY.md 2023-03-17 22:32:33 +01:00
build.gradle Update to io.freefair.aspectj 8.4 2023-10-15 01:09:29 +02:00
gradle.properties Upgrade to Kotlin 1.9.20-RC2 2023-10-25 12:21:57 +02:00
gradlew Upgrade to Gradle 8.4 2023-10-08 16:08:29 +02:00
gradlew.bat Upgrade Gradle wrapper 2022-11-25 23:12:08 +01:00
import-into-eclipse.md Remove Groovy from "Eclipse/STS Project Import Guide" 2022-01-21 11:27:09 +01:00
import-into-idea.md Fix links in Javadoc and reference docs 2022-09-14 17:00:11 +02:00
settings.gradle Merge branch '6.0.x' 2023-10-12 16:19:49 +02:00
update_copyright_headers.sh Use correct Kotlin file extension in update_copyright_headers.sh 2023-02-19 13:41:36 +01:00

README.md

Spring Framework Build Status Revved up by Gradle Enterprise

This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of Spring projects are often referred to simply as "Spring".

Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. Please read the Overview section of the reference documentation for a more complete introduction.

Code of Conduct

This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

Access to Binaries

For access to artifacts or a distribution zip, see the Spring Framework Artifacts wiki page.

Documentation

The Spring Framework maintains reference documentation (published and source), GitHub wiki pages, and an API reference. There are also guides and tutorials across Spring projects.

Micro-Benchmarks

See the Micro-Benchmarks wiki page.

Build from Source

See the Build from Source wiki page and the CONTRIBUTING.md file.

Continuous Integration Builds

Information regarding CI builds can be found in the Spring Framework Concourse pipeline documentation.

Stay in Touch

Follow @SpringCentral, @SpringFramework, and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our releases feed.

License

The Spring Framework is released under version 2.0 of the Apache License.