84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
|
# Getting Started
|
|||
|
|
|||
|
### Reference Documentation
|
|||
|
|
|||
|
For further reference, please consider the following sections:
|
|||
|
|
|||
|
* [Official Gradle documentation](https://docs.gradle.org)
|
|||
|
* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/3.0.5/gradle-plugin/reference/html/)
|
|||
|
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/3.0.5/gradle-plugin/reference/html/#build-image)
|
|||
|
* [GraalVM Native Image Support](https://docs.spring.io/spring-boot/docs/3.0.5/reference/html/native-image.html#native-image)
|
|||
|
* [Spring Web](https://docs.spring.io/spring-boot/docs/3.0.5/reference/htmlsingle/#web)
|
|||
|
* [MyBatis Framework](https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/)
|
|||
|
* [JDBC API](https://docs.spring.io/spring-boot/docs/3.0.5/reference/htmlsingle/#data.sql)
|
|||
|
|
|||
|
### Guides
|
|||
|
|
|||
|
The following guides illustrate how to use some features concretely:
|
|||
|
|
|||
|
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
|
|||
|
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
|
|||
|
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)
|
|||
|
* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/)
|
|||
|
* [MyBatis Quick Start](https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start)
|
|||
|
* [Accessing Relational Data using JDBC with Spring](https://spring.io/guides/gs/relational-data-access/)
|
|||
|
* [Managing Transactions](https://spring.io/guides/gs/managing-transactions/)
|
|||
|
|
|||
|
### Additional Links
|
|||
|
|
|||
|
These additional references should also help you:
|
|||
|
|
|||
|
* [Gradle Build Scans – insights for your project's build](https://scans.gradle.com#gradle)
|
|||
|
* [Configure AOT settings in Build Plugin](https://docs.spring.io/spring-boot/docs/3.0.5/gradle-plugin/reference/htmlsingle/#aot)
|
|||
|
|
|||
|
## GraalVM Native Support
|
|||
|
|
|||
|
This project has been configured to let you generate either a lightweight container or a native executable.
|
|||
|
It is also possible to run your tests in a native image.
|
|||
|
|
|||
|
### Lightweight Container with Cloud Native Buildpacks
|
|||
|
|
|||
|
If you're already familiar with Spring Boot container images support, this is the easiest way to get started.
|
|||
|
Docker should be installed and configured on your machine prior to creating the image.
|
|||
|
|
|||
|
To create the image, run the following goal:
|
|||
|
|
|||
|
```
|
|||
|
$ ./gradlew bootBuildImage
|
|||
|
```
|
|||
|
|
|||
|
Then, you can run the app like any other container:
|
|||
|
|
|||
|
```
|
|||
|
$ docker run --rm -p 8080:8080 FileManager:0.0.1-SNAPSHOT
|
|||
|
```
|
|||
|
|
|||
|
### Executable with Native Build Tools
|
|||
|
|
|||
|
Use this option if you want to explore more options such as running your tests in a native image.
|
|||
|
The GraalVM `native-image` compiler should be installed and configured on your machine.
|
|||
|
|
|||
|
NOTE: GraalVM 22.3+ is required.
|
|||
|
|
|||
|
To create the executable, run the following goal:
|
|||
|
|
|||
|
```
|
|||
|
$ ./gradlew nativeCompile
|
|||
|
```
|
|||
|
|
|||
|
Then, you can run the app as follows:
|
|||
|
|
|||
|
```
|
|||
|
$ build/native/nativeCompile/FileManager
|
|||
|
```
|
|||
|
|
|||
|
You can also run your existing tests suite in a native image.
|
|||
|
This is an efficient way to validate the compatibility of your application.
|
|||
|
|
|||
|
To run your existing tests in a native image, run the following goal:
|
|||
|
|
|||
|
```
|
|||
|
$ ./gradlew nativeTest
|
|||
|
```
|
|||
|
|