Cara Install dan Setting Environment Micronaut serta Buat Projectc Sederhana HELLO WORD

 

Install through Binary on Windows

  • Download the latest binary from Micronaut Website

  • Extract the binary to appropriate location (For example: C:\micronaut)

  • Create an environment variable MICRONAUT_HOME which points to the installation directory i.e. C:\micronaut

  • Update the PATH environment variable, append %MICRONAUT_HOME%\bin.

check version micronout menngunakan cmd or powershell : mn --version

Quick Start

The following sections walk you through a Quick Start on how to use the Micronaut framework to set up a basic "Hello World" application.

Before getting started ensure you have a Java 8 or higher JDK installed, and it is recommended that you use a suitable IDE such as IntelliJ IDEA


Creating a Server Application

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>example.micronaut</groupId>
  <artifactId>default</artifactId>
  <version>0.1</version>
  <packaging>${packaging}</packaging>

  <parent>
    <groupId>io.micronaut.platform</groupId>
    <artifactId>micronaut-parent</artifactId>
    <version>4.5.0</version>
  </parent>
  <properties>
    <packaging>jar</packaging>
    <jdk.version>17</jdk.version>
    <release.version>17</release.version>
    <micronaut.version>4.5.0</micronaut.version>
    <micronaut.aot.enabled>false</micronaut.aot.enabled>
    <micronaut.aot.packageName>example.micronaut.aot.generated</micronaut.aot.packageName>
    <micronaut.runtime>netty</micronaut.runtime>
    <exec.mainClass>example.micronaut.Application</exec.mainClass>
  </properties>

  <repositories>
    <repository>
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
        <groupId>io.micronaut.data</groupId>
        <artifactId>micronaut-data-hibernate-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>io.micronaut.sql</groupId>
        <artifactId>micronaut-jdbc-hikari</artifactId>
    </dependency>

    <!-- MySQL JDBC driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>io.micronaut</groupId>
      <artifactId>micronaut-http-server-netty</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.micronaut.serde</groupId>
      <artifactId>micronaut-serde-jackson</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>io.micronaut</groupId>
      <artifactId>micronaut-http-client</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.micronaut.test</groupId>
      <artifactId>micronaut-test-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>io.micronaut.maven</groupId>
        <artifactId>micronaut-maven-plugin</artifactId>
        <configuration>
          <configFile>aot-${packaging}.properties</configFile>
        </configuration>
      </plugin>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>2.41.1</version>
        <configuration>
          <java>
              <licenseHeader>
                  <file>${project.basedir}/LICENSEHEADER</file>
              </licenseHeader>
          </java>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <!-- Uncomment to enable incremental compilation -->
          <!-- <useIncrementalCompilation>false</useIncrementalCompilation> -->

          <annotationProcessorPaths combine.children="append">
            <path>
              <groupId>io.micronaut</groupId>
              <artifactId>micronaut-http-validation</artifactId>
              <version>${micronaut.core.version}</version>
            </path>
            <path>
              <groupId>io.micronaut.serde</groupId>
              <artifactId>micronaut-serde-processor</artifactId>
              <version>${micronaut.serialization.version}</version>
              <exclusions>
                <exclusion>
                  <groupId>io.micronaut</groupId>
                  <artifactId>micronaut-inject</artifactId>
                </exclusion>
              </exclusions>
            </path>
          </annotationProcessorPaths>
          <compilerArgs>
            <arg>-Amicronaut.processing.group=example.micronaut</arg>
            <arg>-Amicronaut.processing.module=default</arg>
          </compilerArgs>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>


Resources\application.properties
#Tue Jun 18 12:49:41 UTC 2024
micronaut.application.name=default
micronaut.server.port=7070

# DataSource configuration
datasources.default.url=jdbc:mysql://localhost:3306/world
datasources.default.username=javadeveloper
datasources.default.password=joko24051992
datasources.default.driver-class-name=com.mysql.cj.jdbc.Driver

# JPA/Hibernate configuration
jpa.default.properties.hibernate.hbm2ddl.auto=update
jpa.default.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

# Micronaut Data configuration
micronaut.data.jpa.packages-to-scan=example.micronaut

Java\example\micronaut\Application.java
package example.micronaut;

import io.micronaut.runtime.Micronaut;
import io.micronaut.core.annotation.Introspected;
import jakarta.persistence.Entity;

@Introspected(packages = "example.micronaut.domain", includedAnnotations = Entity.class)
public class Application {

    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
    }
}


java\example\micronaut\domain\MyEntity.java
package example.micronaut.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import io.micronaut.core.annotation.Introspected;

@Introspected
@Entity
public class MyEntity {
    @Id
    private Long id;
}


java\example\micronaut\HelloController.java
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;

@Controller("/hello") // (1)
public class HelloController {

    @Get(produces = MediaType.TEXT_PLAIN) // (2)
    public String index() {
        return "Hello World"; // (3)
    }
}
Copy to Clipboard
The @Controller annotation defines the class as a controller mapped to the path /hello
The @Get annotation maps the index method to all requests that use an HTTP GET
A String "Hello World" is returned as the response

If you use Java, place the previous file in src/main/java/hello/world.


can run the application with 

gradle         ./gradlew run

maven           ./mvnw mn:run



Comments

Popular posts from this blog

CRUD SPRING REACTIVE WEBFLUX +Mongo DB

Top 7 Digital Transformation Companies

Regression Testing dalam UAT Environment?

Daftar Kata Kunci (Keyword) dalam Bahasa Pemrograman Python

TOP 8 Framework Populer menggunakan bahasa .NET

Python Date and Time Manipulation

100 perusahaan perangkat lunak (software) populer dari Eropa dan Amerika yang memiliki kehadiran atau operasional di Indonesia.

20 Data Center Terbesar di Dunia

9 proyek inovatif berbasis MCP (Model-Context-Protocol) untuk pengembangan sistem AI modern

Tahukah kamu Perbedaaan VMware VS Hyper-V ?