jersey
Использование Весенней загрузки с Джерси
Поиск…
Простое приложение с весной и Джерси
Spring Boot - это платформа самонастройки для приложений Spring. Он также поддерживает интеграцию с Джерси. Одним из преимуществ этого (с точки зрения пользователя Джерси) является то, что у вас есть доступ к обширной экосистеме Весны.
Чтобы начать работу, создайте новый автономный проект (не-wepapp) Maven. Мы также можем создать webapp, но для этого руководства мы просто используем автономное приложение. pom.xml
проект, добавьте следующее в свой pom.xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Нам просто нужны две зависимости. Один для модуля Spring Spring Boot, а другой - для встроенного сервера Tomcat. Плагин, который мы будем использовать для запуска приложения для тестирования.
После этого добавьте в проект следующие классы.
com/example
|
+-- GreetingApplication.class
+-- JerseyConfig.class
|
+ com/example/services
| |
| +-- GreetingService.class
| +-- NiceGreetingService.class
|
+ com/examples/resources
|
+-- GreetingResource.class
GreetingApplication.class
Это класс начальной загрузки (очень простой)
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GreetingApplication {
public static void main(String[] args) {
SpringApplication.run(GreetingApplication.class, args);
}
}
JerseyConfig.class
Это класс конфигурации Джерси
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.stereotype.Component;
@Component
@ApplicationPath("/api")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
packages("com.example");
}
}
GreetingService.class
и NiceGreetingService.class
public interface GreetingService {
public String getGreeting(String name);
}
import org.springframework.stereotype.Component;
@Component
public class NiceGreetingService implements GreetingService {
@Override
public String getGreeting(String name) {
return "Hello " + name + "!";
}
}
GreetingResource
Это класс ресурсов, в котором мы будем позволять Spring вводить GreetingService
в.
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.service.GreetingService;
@Path("greeting")
public class GreetingResource {
private GreetingService greetingService;
@Autowired
public GreetingResource(GreetingService greetingService) {
this.greetingService = greetingService;
}
@GET
public String getGreeting(@QueryParam("name") String name) {
return this.greetingService.getGreeting(name);
}
}
И это все. Теперь мы можем запустить приложение. Возьмите терминал и запустите следующую команду из корня проекта.
mvn spring-boot:run
Чтобы начать работу, приложение должно занять несколько секунд. Будут некоторые каротажи, и вы увидите некоторое искусство Spring ASCII. После этого искусства это должно быть около 30 строк или больше для регистрации, тогда вы должны увидеть
15.784 seconds (JVM running for 38.056)
Теперь приложение запущено. Если вы используете cURL, вы можете проверить его с помощью
curl -v 'http://localhost:8080/api/greeting?name=peeskillet'
Если вы находитесь в Windows, используйте двойные кавычки вокруг URL-адреса. Если вы не используете cURL, просто введите его в браузере. Вы должны увидеть результат
Hello peeskillet!
Вы можете заметить, что запрос запрашивает несколько секунд при первом запросе. Это связано с тем, что Джерси не загружается полностью, когда приложение запускается. Мы можем изменить это, добавив файл application.properties
папку src/main/resources
. В этом файле добавьте следующее:
spring.jersey.servlet.load-on-startup=1