Revisiting Spring @Transactional today. Interesting insight: It only works through proxies, so calling a transactional method from within the same class won’t apply the transaction. Subtle, but important. #Java #SpringBoot #Backend
Spring Transactional Proxy Limitations
More Relevant Posts
-
🚨 Spring Boot Trap @Transactional looks simple. But it has rules. It works when: • Called from another bean • Public methods • Proxy is active It fails silently when: • Self-invocation • Wrong propagation • Async methods Result? Data inconsistency. Always test transaction boundaries. Don’t assume they work. #SpringBoot #Java #Transactions #Backend #BackendDevelopment #JavaDeveloper #SoftwareEngineering #TechTips #SoftwareEngineer
To view or add a comment, sign in
-
-
https://lnkd.in/d2QuDRvF Most “exciting” releases break your code. #Java26 doesn’t. It compiles, runs, and improves performance—thanks to G1 GC and HTTP/3. Lutske de Leeuw & Johannes Bechberger explain why boring wins. See why boring tech is a competitive advantage. Read their article! #Java #JVM
To view or add a comment, sign in
-
-
🚀 What happens inside Spring Framework when your application starts? From bootstrapping to dependency injection, here’s a complete step-by-step flow of how Spring works internally. Understanding this flow helps developers write better and optimized applications. #Java #SpringBoot #BackendDevelopment #SoftwareEngineering
To view or add a comment, sign in
-
-
Day 95/200 – LeetCode Challenge. Problem: Remove Duplicates from Sorted List II (Java) Today’s focus was eliminating all duplicate values from a sorted linked list while keeping only distinct nodes. Implemented an efficient two-pointer approach with a dummy node to handle edge cases cleanly. Linked lists require careful pointer management. Dummy nodes simplify boundary conditions. One-pass solution ensures optimal performance. Continuing the 200-day journey, one problem at a time. #LeetCode #Java #CodingChallenge #200DaysOfCode #ProblemSolving
To view or add a comment, sign in
-
-
Most people use Spring Boot. But very few understand what actually happens when the application starts While going deeper into it, a few things started making more sense How the application context is created What SpringBootApplication really triggers How the bean lifecycle actually works Why proxies are used for things like Transactional And how self invocation can silently break things It is easy to write Spring code Understanding what happens inside is different Still learning and connecting the dots What part of Spring feels confusing to you #Java #SpringBoot #BackendDevelopment #SoftwareEngineering #JavaDeveloper #SystemDesign #Placements
To view or add a comment, sign in
-
-
🚨 @Transactional doesn’t always work the way you think I assumed it works everywhere. I was wrong. 💥 Issue I faced: Transaction was NOT rolling back on failure. Root cause? Method was called internally within the same class. Spring uses proxies → internal calls bypass them. ✅ Fix: * Moved logic to separate service class 💡 Takeaway: @Transactional works only when called via Spring proxy. This is one of those bugs that wastes hours. #Java #SpringBoot #BackendDevelopment #SoftwareEngineering #Microservices #JPA #RESTAPI #DeveloperLife #CareerGrowth
To view or add a comment, sign in
-
Synchronous: Request waits. Thread blocks. Asynchronous: Request moves on. Work continues in background. Blocking: • Simple • Predictable Non-blocking: • Efficient • Scalable But here’s the catch: Async adds complexity: • Debugging • Error handling • Thread management Don’t use async everywhere. Use it where it matters. #Java #Concurrency #SpringBoot
To view or add a comment, sign in
-
-
🚀 Day 8 — Spring Bean Lifecycle (Complete Flow 🔥) Today I learned how Spring creates, manages, and destroys objects (Beans) 👇 💡 Bean Lifecycle (Simple Flow): 👉 Create Bean 👉 Inject Dependencies 👉 Initialize Bean 👉 Use Bean 👉 Destroy Bean ⚡ Important Annotations: @PostConstruct → runs after bean creation @PreDestroy → runs before bean destruction 🔍 What Spring does internally? 👉 IoC Container: Creates object Injects dependencies Manages lifecycle 💡 One simple line: 👉 Spring controls the entire life of an object 💬 Did you know Spring handles object destruction too? Day 8 done ✅ #Spring #Java #BackendDevelopment #LearningInPublic #30DaysOfCode #SpringBoot #Developers
To view or add a comment, sign in
-
-
Spring Boot handles your REST APIs. Spring Security locks them down. Spring Data talks to any database. Thymeleaf + HTMX covers your UI. Testcontainers tests the real thing. GraalVM compiles it all to a native binary. One language. One ecosystem. Zero context switching. While everyone's juggling 5 frameworks across 3 languages, Java developers ship end-to-end features without leaving their IDE. Stop sleeping on the stack that runs half the world's enterprise software. #Java #SpringBoot #FullStackDevelopment #SoftwareEngineering #BackendDevelopment
To view or add a comment, sign in
-
⚠️ The Hardest Bugs Aren’t in the Code One thing backend systems taught me: Most critical issues aren’t due to wrong logic — they’re due to unexpected system interactions. Examples: • A slow query impacting multiple services • A retry mechanism causing duplicate processing • A small config change increasing latency The challenge is rarely “what the code does” It’s “how the system behaves as a whole” Understanding interactions > writing isolated logic. #backendengineering #systemdesign #java
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
Async also