我建立了一个spring boot vaadin项目,并根据springs教程实现了这个类,但无法使用localhost:8080/ui访问ui。我做错了什么?
我的UI类:
package net.lawyd.server.ui;
import com.vaadin.annotations.Theme;
import com.vaadin.server.VaadinRequest;
import com.vaadin.spring.annotation.SpringUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Notification;
import com.vaadin.ui.UI;
@SpringUI(path = "/ui")
@Theme("valo")
public class VaadinUI extends UI {
@Override
protected void init(VaadinRequest request) {
setContent(new Button("Click me", e -> Notification.show("Hello Spring+Vaadin user!")));
}
}
这是我的Spring配置类:
package net.lawyd.server.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@ComponentScan("net.lawyd.server")
@EnableJpaRepositories("net.lawyd.server")
@EnableTransactionManagement
public class SpringConfig {
// Nothing to do here
}
这是我的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>net.lawyd</groupId>
<artifactId>lawyd-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
[更新1]我注意到这条日志消息:
无法增强@Configuration bean definition'com.vaadin.spring。因为它的单例实例创建得太早。典型的原因是具有BeanDefinitionRegistryPostProcessor返回类型的非静态@Bean方法:考虑将此类方法声明为“static”。
[更新2]我使用start.spring创建了一个空的Spring Boot应用程序。io并插入教程中的演示。它在那里工作,所以它必须与我的设置有关。
[更新3]我发现它与球衣配置有关,当我把它拿出来时,它可以工作,但球衣不再:
@SpringBootConfiguration
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(TodoResource.class);
register(HealthResource.class);
}
}
这也是github上的代码。
我发现了根问题:Jersey被映射到根,因此对根的所有调用都被拦截。将应用程序路径(“/api”)更改为非根路径解决了问题:
@SpringBootConfiguration
@ApplicationPath("/api")
public class JerseyConfig extends ResourceConfig {
tl;如果在Docker容器中运行,一个RestController正确回答,另一个则不正确。 该服务有两个API 和。 它们都是通过docker compose运行的。 返回。 返回一个空的200响应。正如预期的那样。 应该返回一个200响应和一个每次调用API时都会增加的数字。可悲的是,事实并非如此。 在本地运行该服务可以提供预期的结果。 maven spotify插件用于从以下创建图像。 我
我在eclipse中初始化了一个SpringBoot Rest,并使其成为一个动态Web项目。遵循了三轮胎原则,并在控制器类中声明了endpointURL。项目部署良好,但一旦我尝试访问返回404错误的endpoint。请参阅下面的示例。二手编译器-Maven和服务器-apache tomcat 9.0 主类.java } 示例控制器类
本文向大家介绍springBoot项目启动类启动无法访问的解决方法,包括了springBoot项目启动类启动无法访问的解决方法的使用技巧和注意事项,需要的朋友参考一下 网上也查了一些资料,我这里总结。下不来虚的,也不废话。 解决办法: 1、若是maven项目,则找到右边Maven Projects --->Plugins--->run(利用maven启动)则可以加载到webapp资源 2、上面方法
creds application.yml服务器:端口:9000 Eureka:Client:ServiceUrl:DefaultZone:http://localhost:8761/Eureka/ 发现application.yml
我的财产包括: 我的申请。属性,如: 测试是: 故障原因: 我尝试过很多事情,比如: 添加SpringBootTest将PropertySource替换为 TestPropertySource测试属性源 Spring开机版本为:2.2.2。释放 有人有主意吗?