问题标签 [spring-boot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
421 浏览

spring - Spring Boot Secure 示例堆栈跟踪

我刚刚下载了 Spring Boot GIT 项目,mvn eclipse:eclipse在 spring-boot-sample-secure 文件夹中运行了一个,然后只将该项目导入了 STS。但是,当我运行它时,我得到以下信息:

除了运行 maven 来构建 Eclipse 项目(以及导入它时 STS 可能所做的任何事情)之外,我根本没有对文件进行任何更改。该网站似乎工作正常。我可以使用用户名/密码登录,我可以注销。没有错误。但是那个堆栈跟踪看起来很糟糕。这只是一个红色的信息,由可能没有 100% 准备好大规模消费的非生产代码引起,还是这表明我应该追查一些问题?

0 投票
2 回答
9126 浏览

templates - 使用 thymeleaf 用父布局包装模板

我刚决定用 spring-boot 和 thymeleaf 开始一个小项目。

thymeleaf 本身直到现在看起来都很棒,但我的问题是拥有一个例如 layout.html 的最佳方法是什么,它带来了页面的基本布局

like
- 常见的 css 包含
- 常见的 js 包含
- 基本结构(例如 2/3 列布局)

它围绕着单个页面的内容(查看博客文章、查看评论、查看图库中的图像等),我不需要将常见的东西带到所有模板中。

到目前为止,我发现的唯一方法是使用片段包含,但我不确定这是否是在我要为当前请求呈现的模板周围获得完整结构的正确方法

就像我将如何获得<div class="content"></div>我的模板?

我希望有人能帮帮忙。

提前致谢

0 投票
1 回答
2180 浏览

spring-boot - Spring-Boot 嵌入式大战

如何在我的 Spring-Boot 应用程序中包含第三方战争?我想坚持一个单一的、可执行的工件,而不是采用传统的 tomcat 部署路线,但我也想包括像 hawtio ( http://hawt.io/getstarted/index.html ) 这样的东西。

任何建议将不胜感激。

0 投票
1 回答
532 浏览

spring - 如何在 cloudbees 上运行可执行 jar 文件(例如 spring-boot)

我正在测试 Spring Boot 并尝试使用 JVM 运行时容器将 Spring Boot JAR 上传到 CloudBees。

Spring Boot 应用程序的首选打包是可以使用“java -jar”命令行选项运行的 JAR 文件。

我无法将其中一个 JAR 上传到 RUN@Cloud,最终创建了一个包含各种 JAR 和设置类路径等的 ZIP 文件。这需要我为 CloudBees 创建一个自定义构建脚本,而不是一个刚刚上传的后处理器由 Spring Boot Gradle 插件构建的 JAR。

如果更新 RUN@Cloud、“bees”命令和文档以提供对以“java -jar”开头的单 jar 应用程序的支持,那就太好了,有什么办法可以做到这一点吗?

0 投票
1 回答
7417 浏览

java - 如何将 Spring 应用程序部署到生产服务器?

我有一个在 Eclipse 中构建的 Spring MVC 应用程序,我试图将其部署为战争(对 glassfish)。我有一个看起来像这样的应用程序类:

编辑: 我越来越接近了。战争文件现在部署。但是,我无法访问任何 Web 服务端点(它们都返回 404)现在,我有一个 web.xml:

像这样的 application-context.xml:

控制器看起来像这样:

编辑 2 感谢您的指点。来自这里的解决方案:http: //spring.io/guides/gs/convert-jar-to-war/是添加这样的类。我还没有测试过,但是,我认为这可以代替 web.xml:

谢谢

0 投票
2 回答
14643 浏览

java - spring-boot 属性注入在自定义@Configuration 类中不起作用

我想创建一个 DatabaseConfig 类来设置与数据库相关的东西(EntityManager、DataSource、TransactionManager)并获取我@Value("${property.name}")String字段上使用的属性

喜欢

问题是,所有这些字符串都是 NULL 而不是我的属性文件的值。

如果我将代码放入我的Application类(具有main和 中引用的类SpringApplication.run(Application.class, args);),则值注入有效

简而言之,@Value 适用于我的 Application 类,但不适用于我的自定义 @Configuration 类:(

有什么问题?还是需要更多信息?

更新:更多代码

方式 1,我的 Application.java 中的 DB Config 和 @Value 使用和不使用 PropertySourcesPlaceholderConfigurer

方式2(我想要的),无论我在哪里拥有(应用程序或DatabaseConfig),它自己的文件(DatabaseConfing.java)中的DB Stuff都不起作用,PropertySourcesPlaceholderConfigurer因为它总是在DatabaseConfig中的@Beans之后被调用:(

0 投票
2 回答
1540 浏览

init.d - 基于 Spring Boot (Tomcat) 的应用程序作为守护进程 - 如何停止?

我编写了一个使用嵌入式 tomcat作为容器的Spring Boot Web 服务。

如果系统重新启动,我想将一些信息备份到 mysql 数据库。

在我的网络服务中,我使用@Scheduled()@PreDestroy运行备份。

当我用 ^C 停止服务器时,一切顺利。

但是,当我使用sysV skript ( /etc/init.d) 和 kill 命令终止进程时 - 即使守护进程依赖于 mysql,mysql 服务器也会在备份完成之前关闭(导致我的日志中出现 SQL 异常)。

这样做的原因当然是 kill 只发送一个信号来停止进程。

我如何(从我的 sysv 脚本)同步停止正在运行的 spring boot tomcat 服务器?

0 投票
2 回答
31903 浏览

spring - Spring Boot:如何外部化 JDBC 数据源配置?

我有以下有效的 Spring Boot 控制器代码。(部分敏感文字被替换)

现在我想外部化数据源的配置。即BasicDataSource类、驱动类名、数据源URL应该放在application.properties中。我怎样才能做到这一点?

顺便说一句,我是 Spring、Spring Boot 甚至 Java Beans 的新手。我所拥有的只是一些 Java 编程经验,主要针对移动设备。我花了几天时间研究 Spring Boot 环境,但我真的不知所措。所以,请用具体的例子给我确切的说明。

更新:当我应用 M. Deinum 的答案时,运行应用程序时出现以下错误:

作为参考,build.grade 文件(我使用 Gradle)的内容如下:(按照 M. Deinum 的建议,我删除了对 org.apache.commons.dbcp 的依赖。)

这是 Application.java 文件,它是主要的源文件。

可以为错误做些什么?

更新:正如 M. Deinum 所建议的,当我按如下方式更改 build.gradle 文件时,应用程序正常工作!

0 投票
3 回答
10490 浏览

spring - 如何在 Spring Boot Embedded tomcat 中为外部静态 HTML 文件提供服务?

我是 Spring 框架和 Spring Boot 的新手。
我已经实现了一个非常简单的 RESTful Spring Boot Web 应用程序。
您可以在另一个问题中看到几乎完整的源代码:Spring Boot:如何外部化 JDBC 数据源配置?

app如何服务外部静态html、css js文件?
例如,目录结构可能如下:

我已经阅读了构建包含静态 HTML 文件的 .WAR 文件的方法,但由于即使在单个 HTML 文件修改时它也需要重建和重新部署 WAR 文件,因此该方法是不可接受的。

由于我对 Spring 的了解非常有限,因此最好给出准确而具体的答案。

0 投票
3 回答
12206 浏览

spring - Spring Boot 中可用于 application.properties 的属性列表?

Spring Boot 文档说我们可以在 application.properties 文件中设置属性。
但我找不到列出可以设置的可用属性的文档。
我在哪里可以找到这样的文件?

例如,我想为嵌入式 servlet 设置 documentRoot。
我发现 setDocumentRoot() 方法是在 AbstractEmbeddedServletContainerFactory.java 中实现的。
但是我不知道何时何地调用该方法,或者可以在application.properties中设置的属性名称。
我认为这应该很容易,因为 Spring Boot 的目的就是简化配置。

提前致谢。

更新:

正如 M. Deinum 建议的那样,我在 application.properties 中添加了“server.document-root: someDirectoryName”,但出现了以下错误。

我认为这是因为 org.springframework.boot.context.embedded.properties.ServerProperties 的实现方式。(见https://github.com/spring-projects/spring-boot/blob/97cb7f096798ecd016de71f892fa55585d45f5eb/spring-boot/src/main/java/org/springframework/boot/context/embedded/properties/ServerProperties.java

它声明了'@ConfigurationProperties(name = "server", ignoreUnknownFields = false)'。因此,它管理以“服务器”开头的应用程序属性,并且不允许未知的属性名称。
而且它不支持 documentRoot getter/setter。

顺便说一句,ServerProperties 类由 org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration 制作为 Bean(参见https://github.com/spring-projects/spring-boot/blob/97cb7f096798ecd016de71f892fa55585d45f5eb/spring-boot-autoconfigure/src /main/java/org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.java),以便它可以参与配置过程。

因此,我尝试自己实现类似 ServerProperties 的一个和类似 ServerPropertiesAutoConfiguration 的一个。
代码如下:

并将以下行添加到 application.properties。

sample.server.documentRoot: someDirectoryName

...它的工作原理!

“############## setDocumentRoot”打印到控制台,实际设置了文档根目录。

所以,我现在很高兴,但这是正确的做法吗?