Я создал очень простой проект SpringBoot, используя мой groupId и artifactId. Похоже, что он не хочет начинать, и некоторые сопоставления отсутствуют. Но когда я использую те же имена пакетов и имена классов, что и учебник по SPring Boot, который находится на сайте spring.io, он работает.
Мой POM выглядит следующим образом:
<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>com.my.spring</groupId>
<artifactId>firstspringboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<url>http://maven.apache.org</url>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Мой ресурс 'Приветствие'
package com.my.spring.firstspringboot.entities;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
public class Greeting {
private String id;
private String firstName;
private String lastName;
public Greeting() {
}
public Greeting(String firstName, String lastName) throws NoSuchAlgorithmException {
this.setFirstName(firstName);
this.setLastName(lastName);
this.setId(new StringBuilder().append(SecureRandom.getInstance("SHA1PRNG").nextInt()).append("_").append(System.currentTimeMillis()).toString());
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
return new StringBuilder().append("{\n\"name\":\"").append(this.firstName).append(" ").append(this.lastName).append("\"\n").append(",").append("{\n\"id\":\"").append(this.id).append("\"").toString();
}
}
И его контроллер:
package com.my.spring.firstspringboot.controllers;
import java.security.NoSuchAlgorithmException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.my.spring.firstspringboot.entities.Greeting;
@RestController
public class GreetingController {
@RequestMapping("/")
public String home() {
return "Welcome!";
}
@RequestMapping("/greeting")
public Greeting greeting(@RequestParam(name="name",defaultValue="John") String name) throws NoSuchAlgorithmException {
return new Greeting(name,name);
}
}
И главное приложение
package com.my.spring.firstspringboot.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App
{
public static void main(String[] args)
{
SpringApplication.run(App.class, args);
}
}
Есть ли что-то еще, что мне нужно сделать здесь? Я думал, что это просто загрузка и автоматическая настройка по умолчанию.