How spring-projects/spring-framework works
Spring Framework is a Java foundation for enterprise applications, spanning core utilities, data conversion, transaction management, and web/messaging capabilities. A typical use starts when an application invokes framework services; selected modules then perform conversion, transaction coordination, or request handling. The excerpts show conversion lookup, transaction lifecycle management, and WebSocket/SockJS behavior, while the tree indicates broader integration modules. Unsampled product branches are retained at directory level; their internal links are omitted where the supplied evidence does not establish them.
Main entry points: AbstractPlatformTransactionManager.java Transaction coordinator · ConversionService.java Conversion API · GenericConversionService.java Converter registry · java Reactive web
Components 22
Core services
- Core utilities
spring-core/src/main/java/org/springframework/util - Property metadata
spring-core/src/main/java/org/springframework/core/convert/Property.java - Type descriptors
spring-core/src/main/java/org/springframework/core/convert/TypeDescriptor.java - Conversion API
spring-core/src/main/java/org/springframework/core/convert/ConversionService.java - Converter registry
spring-core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java - Formatting service
spring-context/src/main/java/org/springframework/format/support/FormattingConversionService.java
Transactions
- Transaction rules
spring-tx/src/main/java/org/springframework/transaction/TransactionDefinition.java - Transaction coordinator
spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java - Transaction status
spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionStatus.java - Transaction synchronization
spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationManager.java - Resource transactions
spring-tx/src/main/java/org/springframework/transaction/support/ResourceTransactionManager.java
Web and messaging
- Servlet web
spring-webmvc/src/main/java - Reactive web
spring-webflux/src/main/java - WebSocket handshake
spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java - SockJS transports
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java - Message handling
spring-messaging/src/main/java
Enterprise integrations
- JDBC and ORM transactions
spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java - JMS messaging
spring-jms/src/main/java/org/springframework/jms/core/JmsClient.java - Cache integrations
spring-context-support/src/main/java/org/springframework/cache - ORM integrations
spring-orm/src/main/java - Reactive database
spring-r2dbc/src/main/java
Other components
- Application
Connections 18
- Application → Conversion API: requests conversion
spring-core/src/main/java/org/springframework/core/convert/ConversionService.java - Conversion API → Converter registry: delegates conversion
spring-core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java - Converter registry → Type descriptors: matches types
spring-core/src/main/java/org/springframework/core/convert/support/GenericConversionService.java - Formatting service → Conversion API: extends service
spring-context/src/main/java/org/springframework/format/support/FormattingConversionService.java - Application → Transaction coordinator: manages transaction
- Transaction coordinator → Transaction rules: checks rules
spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java - Transaction coordinator → Transaction status: creates status
spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java - Transaction coordinator → Transaction synchronization: registers synchronization
spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java - JDBC and ORM transactions → Transaction coordinator: specializes manager
spring-jdbc/src/main/java/org/springframework/jdbc/datasource/DataSourceTransactionManager.java - Application → Servlet web: uses web endpoints
- Application → Reactive web: uses reactive endpoints
- WebSocket handshake → Reactive web: uses handler types
spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/HandshakeWebSocketService.java - Application → SockJS transports: uses fallback transports
- Application → Message handling: uses message handling
- Application → JMS messaging: uses messaging client
- Application → Cache integrations: uses cache services
- Application → ORM integrations: uses ORM services
- Application → Reactive database: uses reactive data