Questions tagged «spring-boot»

Spring Boot是一个框架,可让您轻松创建以Spring为动力的生产级应用程序和服务,而无需大惊小怪。它对旨在供Spring的新老用户使用的Spring平台持保留态度。

12
从IntelliJ运行时如何激活Spring Boot配置文件?
我有5个环境: - local (my development machine) - dev - qc - uat - live - staging 我希望每个环境使用不同的应用程序属性,因此我有以下属性文件,每个属性文件的数据源都有不同的URL: - application.properties (containing common properties) - application-local.properties - application-dev.properties - application-qc.properties - application-uat.properties - application-live.properties 我正在使用IntelliJ,并在本地计算机上的Gradle插件中使用bootRun运行我的应用程序。我将用于在运行Tomcat的所有其他环境上部署相同的应用程序war文件。 我尝试添加: --spring.profiles.active =本地 脚本参数下的运行配置。 我尝试添加 -Dspring.profiles.active =本地 到VM选项下的运行配置。 都不起作用。我一直在启动时看到INFO消息,说:未设置活动配置文件,回退到默认配置文件:默认 如果我使用以下命令从Windows命令行运行我的应用程序 gradle bootRun 但是我首先设置环境变量 set SPRING_PROFILES_ACTIVE=local 然后一切正常。 所以我的问题是,从IntelliJ运行bootRun时如何激活本地spring引导配置文件?

11
作为jar运行时找不到类路径资源
在Spring Boot 1.1.5和1.1.6中都存在此问题-我正在使用@Value注释加载类路径资源,当我从STS(3.6.0,Windows)中运行应用程序时,此方法工作得很好。但是,当我运行mvn程序包,然后尝试运行jar时,出现FileNotFound异常。 资源message.txt位于src / main / resources中。我已经检查了jar并确认它在顶层(与application.properties相同)包含文件“ message.txt”。 这是应用程序: @Configuration @ComponentScan @EnableAutoConfiguration public class Application implements CommandLineRunner { private static final Logger logger = Logger.getLogger(Application.class); @Value("${message.file}") private Resource messageResource; public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override public void run(String... arg0) throws Exception { // both of …
127 java  spring-boot 

12
Spring Boot和多个外部配置文件
我有多个要从类路径加载的属性文件。有一个默认设置,/src/main/resources它是的一部分myapp.jar。我springcontext希望文件位于类路径中。即 <util:properties id="Job1Props" location="classpath:job1.properties"></util:properties> <util:properties id="Job2Props" location="classpath:job2.properties"></util:properties> 我还需要使用外部设置覆盖这些属性的选项。我在中有一个外部配置文件夹cwd。按照spring boot doc config文件夹应该在classpath上。但是从doc尚不清楚,它是否只会覆盖applicaiton.propertiesfrom那里或config中的所有属性。 当我测试它时,只会application.properties被拾取,其余属性仍会从中拾取/src/main/resources。我尝试将它们作为逗号分隔的列表提供,spring.config.location但默认设置仍未被覆盖。 如何使多个外部配置文件覆盖默认文件? 作为解决方法,我目前使用app.config.location通过命令行提供的(特定于应用程序的属性)。即 java -jar myapp.jar app.config.location=file:./config 我改变了我的applicationcontext给 <util:properties id="Job2Props" location="{app.config.location}/job2.properties"></util:properties> 这就是我在加载应用程序时如何在文件和类路径之间进行分隔的方法。 编辑: //psuedo code if (StringUtils.isBlank(app.config.location)) { System.setProperty(APP_CONFIG_LOCATION, "classpath:"); } 我真的不希望使用上述变通方法,并且让spring像在application.properties文件路径上那样覆盖classpath上的所有外部配置文件。

9
Spring Boot + JPA:列名注释被忽略
我有一个带有依赖项的Spring Boot应用程序spring-boot-starter-data-jpa。我的实体类具有带有列名称的列注释。例如: @Column(name="TestName") private String testName; 由此生成的SQL创建test_name为列名。在寻找解决方案之后,我发现spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy解决了该问题(列名来自列注释)。 我的问题仍然是,为什么不将naming_strategy设置为EJB3NamingStrategyJPA就会忽略列注释?也许休眠方言与此有关?我正在连接到MS SQL 2014 Express,我的日志包含: Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect Using dialect: org.hibernate.dialect.SQLServerDialect


4
如何在Spring Boot中检索查询参数?
我正在使用Spring Boot开发一个项目。我有一个控制器,它接受GET请求。 目前,我正在接受对以下类型URL的请求: http:// localhost:8888 / user / data / 002 但我想接受使用查询参数的请求: http:// localhost:8888 / user?data = 002 这是我的控制器的代码: @RequestMapping(value="/data/{itemid}", method = RequestMethod.GET) public @ResponseBody item getitem(@PathVariable("itemid") String itemid) { item i = itemDao.findOne(itemid); String itemname = i.getItemname(); String price = i.getPrice(); return i; }
121 java  rest  spring-boot 

14
如何以正确的方式关闭Spring Boot应用程序?
他们在Spring Boot Document中说:“每个SpringApplication都会向JVM注册一个关闭钩子,以确保退出时优雅地关闭ApplicationContext。” 当我单击ctrl+cshell命令时,可以正常关闭应用程序。如果我在生产计算机上运行该应用程序,则必须使用命令 java -jar ProApplicaton.jar。但是我无法关闭shell终端,否则它将关闭进程。 如果我运行像这样的命令nohup java -jar ProApplicaton.jar &,则无法ctrl+c正常关闭它。 在生产环境中启动和停止Spring Boot Application的正确方法是什么?

27
无法配置数据源:未指定'url'属性,并且无法配置任何嵌入式数据源
我正在使用MongoDB处理Spring Boot Batch示例,并且我已经启动了mongod服务器。 启动应用程序时,出现以下错误。 关于这个问题有什么建议吗? *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or …

20
在SpringBoot中禁用Logback
看来Springboot会自动配置为将Logback与Tomcat一起使用。我想禁用此功能,并使用我在类路径中提供的功能。 下面的错误信息。 LoggerFactory不是Logback LoggerContext,但Logback在类路径上。删除Logback或竞争实现(类org.slf4j.impl.SimpleLoggerFactory)[org.slf4j.impl.SimpleLoggerFactory]类的对象必须是ch.qos.logback.classic.LoggerContext类的实例。 <?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> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>1.0.1.RELEASE</version> </parent> <groupId>com.fe</groupId> <artifactId>cloudapp</artifactId> <version>1.0.0</version> <name>Withinet-PaaS</name> <description>Develop your web applications in on our infrastructure and we will worry about administration and scalability of your app.</description> <properties> <java.version>1.7</java.version> <guava.version>16.0.1</guava.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>com.sun.jersey</groupId> …
118 spring-boot 

18
如何在Spring Boot中设置基本URL以进行休息?
我正在尝试混合mvc和在单个spring boot项目中休息。 我想在一个地方设置所有其余控制器(例如example.com/api)的基本路径(我不想用@RequestMapping('api/products'),而只是用注释每个控制器@RequestMapping('/products')。 Mvc控制器应可通过example.com/whatever访问 可能吗? (我不使用spring数据休息,只是spring mvc)

9
在Spring Boot中禁用所有与数据库相关的自动配置
我正在使用Spring Boot开发两个应用程序,一个用作服务器,另一个是客户端应用程序。但是,它们都是同一个应用程序,根据活动配置文件的功能有所不同。我正在使用Spring Boot的自动配置功能来配置我的应用程序。 我想在客户端应用程序上禁用所有与数据库相关的自动配置,因为它不需要数据库连接。应用程序不应尝试与数据库建立连接,也不应尝试使用任何Spring Data或Hibernate功能。启用或禁用数据库自​​动配置应该是有条件的,并且应基于应用程序的活动配置文件。 我可以通过为各自的配置文件创建两个不同的application.properties文件来实现此目的吗? 我尝试将其添加到属性文件中, spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration 但是,该应用程序仍然尝试在启动时连接到数据库。这些排除条件足以满足我的要求吗?

5
Spring MVC或Spring Boot [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 3年前关闭。 改善这个问题 对于大型公司(Web)项目,您是否建议使用Spring MVC或Spring-Boot? 与Spring MVC相比,就配置而言,Spring-Boot非常容易。 我想知道我使用Spring-Boot是否可以具有Spring MVC的相同优势吗? 您有什么推荐的吗?

10
加快Spring Boot的启动时间
我有一个Spring Boot应用程序。我添加了很多依赖项(不幸的是,看起来我需要所有这些依赖项),并且启动时间增加了很多。仅需SpringApplication.run(source, args)花费10秒钟。 尽管这与“使用”相比可能不算什么,但我不愿意花那么多钱,主要是因为它破坏了开发流程。此时应用程序本身很小,因此我认为大多数时间与添加的依赖项有关,而不是与应用程序类本身有关。 我认为问题是类路径扫描,但是我不确定如何: 确认这是问题所在(即如何“调试” Spring Boot) 如果确实是原因,我该如何加以限制,以使其更快?例如,如果我知道某个依赖项或程序包不包含Spring应该扫描的任何内容,是否有办法限制它? 我认为增强Spring在启动期间具有并行bean初始化会加快速度,但是该增强请求自2011年以来一直没有任何进展。我在Spring Boot本身中看到了其他一些工作,例如调查Tomcat JarScanning的速度改进,但这是特定于Tomcat的,已被放弃。 本文: http://www.nurkiewicz.com/2010/12/speeding-up-spring-integration-tests.html 尽管针对集成测试,建议使用lazy-init=true,但是我不知道如何使用Java配置将此应用于Spring Boot中的所有bean-这里有没有指针? 任何(其他)建议都将受到欢迎。

12
Spring Boot中的JSON Java 8 LocalDateTime格式
我在Spring Boot应用程序中格式化Java 8 LocalDateTime时遇到一个小问题。对于“正常”日期,我没有问题,但是LocalDateTime字段转换为以下内容: "startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" : 0, "nano" : 0, "chronology" : { "id" : "ISO", "calendarType" : "iso8601" } } 虽然我想将其转换为: "startDate": …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.