run mysql - see abstratium.dev manual
docker run -it --network serverless --rm mysql mysql -h serverless-mysql --port 3306 -u root -p
-- https://spring.io/guides/gs/accessing-data-mysql/
create database db_example;
create user 'springuser'@'%' identified by 'ThePassword';
grant all on db_example.* to 'springuser'@'%';
-
https://docs.spring.io/spring-boot/docs/ -> all versions
- other config:
java -jar app.jar --spring.config.location=config/*/
or with a specific file namejava -jar app.jar --property="value"
java -Dproperty.name="value" -jar app.jar
- env vars:
export name=value
and thenjava -jar app.jar
- debug info on startup about which beans are available
- test scopes and making tests run quick
- programatically set port, etc. on boot app?
- https://www.baeldung.com/spring-interview-questions
- bean lifecycles
- devtools and reloading - how does that work with prod?
- a dev profile, which shows sql
- a test profile which uses spring.jpa.hibernate.ddl-auto=create for ITs, or should we use flyway there too?
- rest exception mappers
- https://spring.io/blog/2021/08/22/structuring-your-code-for-spring-framework-and-spring-boot
- https://www.baeldung.com/spring-boot-annotations
- https://www.baeldung.com/transaction-configuration-with-jpa-and-spring
- https://spring.io/guides/tutorials/spring-security-and-angular-js/
- https://www.baeldung.com/spring-security-method-security => using @Secured
- Spring Boot DevTools
- Spring Configuration Processor
- Spring Web
- Spring Data JPA
- Validation
- Quartz Scheduler
- Spring Boot Actuator
- Serving Web Content with Spring MVC