AI prompts
base on Resources for Learning Spring # Resource for Learning Spring
On a recent episode of the Spring Office Hours Podcast we talked about the best resources for learning Spring. We wanted this
repository to live as a resource for people to find the best resources for learning Spring. We are looking for the best books,
courses, videos, and anything else that you have found helpful in learning Spring. If you have suggestions please open a pull request.
[Spring Office Hours: S3E8 - Resources for learning Spring](https://www.youtube.com/watch?v=W0u9XaCyWPo)
## Spring
- [Spring](https://spring.io)
- [Spring Academy](https://spring.academy/)
- [Spring Blog](https://spring.io/blog)
- [GitHub Spring Projects](https://github.com/spring-projects)
- [Spring Initializr](https://start.spring.io/)
- [Spring Calendar](https://calendar.spring.io/)
## Documentation
- [Spring Framework Reference](https://docs.spring.io/spring-framework/docs/current/reference/html/)
- [Spring Framework API](https://docs.spring.io/spring-framework/docs/current/javadoc-api/)
- [Spring Boot Reference](https://docs.spring.io/spring-boot/docs/current/reference/html/index.html)
- [Spring Boot API](https://docs.spring.io/spring-boot/docs/current/api/)
- [Spring Boot Guides](https://spring.io/guides)
## Books
- [Spring Boot Up and Running - Mark Heckler](https://amzn.to/3WOSutb)
- [Learning Spring Boot 3.0 - Greg Turnquist](https://amzn.to/3CuCgxc)
- [Spring in Action, 6th Edition - Craig Walls](https://amzn.to/49JIgAE)
- [Reactive Spring - Josh Long](https://amzn.to/49SQcjj)
- [Cloud Native Spring in Action - Thomas Vitale](https://amzn.to/43bBwt2)
- [Spring Security in Action - Laurentiu Spilca](https://amzn.to/3UYyUwp)
- [Professional Java Development with the Spring Framework - Rod Johnson](https://amzn.to/3wOLyUv)
- [Spring Start Here - Laurentiu Spilca](https://a.co/d/5yug5mi)
- [Pro Spring Boot](https://www.amazon.com/Pro-Spring-Boot-Authoritative-Microservices-ebook/dp/B07G2NSBCS)
- [Spring Microservices in Action, Second Edition - John Carnell](https://a.co/d/hpsnjP9)
- [Troubleshooting Java - Laurentiu Spilca](https://a.co/d/1NLYVMs)
- [Java Persistence with Spring Data and Hibernate](https://www.amazon.com/Java-Persistence-Spring-Data-Hibernate/dp/1617299189)
- [Pro Spring MVC with WebFlux: Web Development in Spring Framework 5 and Spring Boot 2](https://www.amazon.com/Pro-Spring-MVC-WebFlux-Development/dp/1484256654)
- [Spring Boot in Practice - Somnath Musib](https://www.amazon.com/Spring-Boot-Practice-Somnath-Musib/dp/1617298816)
- [Pro Spring 6: An In-Depth Guide to the Spring Framework - Iuliana Cosmina, Rob Harrop, Chris Schaefer, Clarence Ho](https://www.amazon.com/Pro-Spring-Depth-Guide-Framework/dp/1484286391)
- [Beginning Spring 6: From Beginner to Pro - Joseph B. Ottinger, Andrew Lombardi](https://a.co/d/67sFYHi)
- [Beginning Spring Boot 3: Build Dynamic Cloud-Native Java Applications and Microservices - K. Siva Prasad Reddy, Sai Upadhyayula](https://www.amazon.com/Beginning-Spring-Boot-Cloud-Native-Microservices/dp/1484287916)
- [Spring 6 Recipes: A Problem-Solution Approach to Spring Framework - Marten Deinum, Daniel Rubio, Josh Long](https://www.amazon.com/Spring-Recipes-Problem-Solution-Approach-Framework/dp/1484286480)
## Podcasts
- [Bootiful Podcast - Josh Long](http://bootifulpodcast.fm/)
- [Spring Office Hours](https://www.springofficehours.io)
- [Pro Coder Show](https://podcasters.spotify.com/pod/show/procodershow)
- [Inside Java Podcast](https://inside.java/podcast/)
- [The InfoQ Podcast](https://www.infoq.com/the-infoq-podcast/)
## YouTube
- [Spring Developer](https://www.youtube.com/@SpringSourceDev)
- [Josh Long](https://www.youtube.com/@coffeesoftware)
- [Dan Vega](https://www.youtube.com/@danvega)
- [DaShaun Carter](https://www.youtube.com/@dashaun)
- [Pro Coder](https://www.youtube.com/@ProCoderIO)
- [Spring Tips](https://www.youtube.com/playlist?list=PLgGXSWYM2FpPw8rV0tZoMiJYSCiLhPnOc)
- [Amigoscode](https://www.youtube.com/@amigoscode)
- [Java Brains](https://www.youtube.com/c/JavaBrainsChannel)
- [Daily Code Buffer](https://www.youtube.com/@DailyCodeBuffer)
- [Ted M. Young, aka JitterTed](https://www.youtube.com/@JitterTed)
- [Marco Codes](https://www.youtube.com/@MarcoCodes)
- [Laur Spilca](https://www.youtube.com/LaurentiuSpilca)
- [Telusko](https://www.youtube.com/@Telusko)
- [SivaLabs](https://www.youtube.com/@sivalabs)
- [Spring I/O](https://www.youtube.com/channel/UCLMPXsvSrhNPN3i9h-u8PYg)
- [Ali BOUALI](https://www.youtube.com/@BoualiAli)
- [Devtiro](https://www.youtube.com/@devtiro)
- [in28minutes](https://www.youtube.com/@in28minutes)
- [Simon Martinelli](https://www.youtube.com/@simonmartinelli)
- [EmbarkX](https://www.youtube.com/@EmbarkX)
- [Java Guides](https://youtube.com/playlist?list=PLGRDMO4rOGcOKUURLsVMKZbCZhZJNtEwW&si=7WxJWaoqCZEr_rk7)
- [Java Techie](https://youtube.com/@Javatechie?si=7ljx4l_syDlrkjfA)
- [Programming Techie](https://youtube.com/@ProgrammingTechie?si=r-tdB1v4Ng7lx5Yb)
- [Maciej Walkowiak](https://www.youtube.com/springacademy)
- [Mohamed YOUSSFI: French channel](https://www.youtube.com/@mohamedYoussfi)
- [Selenium Express](https://www.youtube.com/@SeleniumExpress)
- [The Tech Mojo](https://youtube.com/@TheTechMojo)
- [Teddy Smith](https://www.youtube.com/@TeddySmithDev)
## Blogs
- [Baeldung](https://www.baeldung.com/)
- [Digital Ocean](https://www.digitalocean.com/community/tags/spring)
- [Cora Iberkleid](https://typeshare.co/ciberkleid)
- [Reflectoring](https://reflectoring.io/)
- [Phillip Riecks](https://rieckpil.de/)
- [Piotr's TechBlog](https://piotrminkowski.com/)
- [SivaLabs](https://www.sivalabs.in/)
- [Marco Behler](https://www.marcobehler.com/)
- [Dan Vega](https://www.danvega.dev/)
- [DaShaun Carter](https://dashaun.com/posts/)
- [Spring How](https://springhow.com/)
- [Spring Framework Guru](https://springframework.guru/)
- [Tanzu VMware](https://tanzu.vmware.com/spring-boot)
- [JavaTpoint](https://www.javatpoint.com/spring-tutorial)
- [GeeksforGeeks](https://www.geeksforgeeks.org/spring/)
- [CalliCoder](https://www.callicoder.com/categories/spring-boot/)
- [TutorialsPoint](https://www.tutorialspoint.com/spring/index.htm)
- [Java Guides](https://www.javaguides.net/p/spring-boot-tutorial.html)
- [Maciej Walkowiak](https://maciejwalkowiak.com/)
- [Vlad Mihalcea](https://vladmihalcea.com/blog/)
- [How To Do In Java](https://howtodoinjava.com/series/spring-boot/)
- [Mkyong Spring Boot](https://mkyong.com/tutorials/spring-boot-tutorials/)
- [StackTips Spring Boot](https://stacktips.com/topics/spring-boot)
## Events / Conferences
- [SpringOne at VMware Explore](https://springone.io/)
- [Spring I/O](https://springio.net/)
- [Java User Groups](https://dev.java/community/jugs/)
- [Devnexus](https://devnexus.com/)
- [Devoxx](https://www.devoxx.com/)
- [DevOpsDays](https://devopsdays.org/)
- [KCDC](https://www.kcdc.info/)
- [dev2Next](https://www.dev2next.com/)
## GitHub Repositories
- [Spring PetClinic](https://github.com/spring-projects/spring-petclinic)
- [Spring PetClinic Microservices](https://github.com/spring-petclinic/spring-petclinic-microservices)
- [Rashidi Zin's Spring Boot Tutorials](https://rashidi.github.io/spring-boot-tutorials/)
- [StackTips Spring Boot Tutorials](https://github.com/StackTipsLab/spring-boot-tutorials)
- [Pokemon Review Spring Boot](https://github.com/teddysmithdev/pokemon-review-springboot)
- [Spring Modulith Hands On](https://github.com/odrotbohm/arch-evident-spring)
## Spring Upgrade Resources
- [OpenRewrite Project - Popular Recipe Guides](https://docs.openrewrite.org/running-recipes/popular-recipe-guides)
- [Migrate from Spring Boot to Spring Boot 3](https://docs.openrewrite.org/running-recipes/popular-recipe-guides/migrate-to-spring-3)
## Community Favorites
- [Spring Builders](https://springbuilders.dev)
- [Spring Users - LinkedIn Group](https://www.linkedin.com/groups/46964/)
- [Spring Boot Developers - Facebook Group](https://www.facebook.com/groups/springbootdevs)
- [Reddit - Spring Boot](https://www.reddit.com/r/SpringBoot/)
- [StackOverflow](https://stackoverflow.com/questions/tagged/spring-boot)
- [Gitter](https://gitter.im/spring-projects/home)
", Assign "at most 3 tags" to the expected json: {"id":"8423","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"