Thank you Iuliana @iuliana Cosmina for Spring Pro 6
: it is one of the best books for preparation for VMWare Spring Professional Certification.
I think that the best way to prepare for certification read that book and some practical experience.
During reading the book was found minor issue: starting from Spring 5, Spring AOP by default uses CGLib proxy. Hope my investigation will help to improve the book.
Steps to reproduce:
- Add
spring-boot-starter-<something>
tobuild.gradle.kts
: it will add transitive dependencyspring-boot-autoconfigure
- At
spring-boot-autoconfigure
we can seespring.factories
: there is configurationTransactionAutoConfiguration
that will be started after context start up TransactionAutoConfiguration
works only if at classpath exists inPlatformTransactionManager
- Most important part of
TransactionAutoConfiguration
isEnableTransactionManagementConfiguration
: - By default for all modern Spring Boot applications used
spring.aop.proxy-target-class=true
. It means that Spring AOP will use CGLib proxy by default - Simply run
./tools/scripts/run.sh
to make sure :)