Tag: spring boot

现有webapp上的Spring启动运行状况检查

我有现有的Spring MVC Web应用程序。 现在我只想使用spring-boot-starter-actuator中的健康检查function。 我是Spring的新手,所以不确定我是否需要将我的完整项目转换为spring boot项目以进行运行状况检查。 我可以只包含依赖项,并以某种方式只启用所需的function吗?

Spring Boot – 如何在开发期间禁用@Cachable?

我正在寻找两件事: 如何使用Spring启动“dev”配置文件禁用开发期间的所有缓存。 在application.properties中,没有seam作为一般设置来关闭它。 什么是最简单的方法? 如何禁用特定方法的缓存? 我试着像这样使用SpEl: @Cacheable(value = “complex-calc”, condition = “#{${spring.profiles.active} != ‘dev’}”) public String someBigCalculation(String input){ … } 但我可以让它发挥作用。 关于SO的问题有几个问题,但它们指的是XML配置或其他东西,但我使用的是Spring Boot 1.3.3,它使用了自动配置。 我不想让事情过于复杂。

Maven spring boot使用参数运行调试

通常我用命令运行我的Spring Boot应用程序: mvn spring-boot:run -Drun.arguments=–server.port=9090 \ -Dpath.to.config.dir=/var/data/my/config/dir 我想设置自定义端口进行调试,所以我可以从eclipse连接。 当我从示例http://docs.spring.io/spring-boot/docs/1.1.2.BUILD-SNAPSHOT/maven-plugin/examples/run-debug.html添加参数时 mvn spring-boot:run -Drun.arguments=–server.port=9090 \ -Dpath.to.config.dir=/var/data/my/config/dir \ -Drun.jvmArguments=”-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787″ 它工作,但其他参数,如server.port或path.to.config.dir不再被识别,我得到例外,如: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.my.app.Controller]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘path.to.config.dir’ in string value file:///${path.to.config.dir}/some.properties” 问题 :如何运行所有参数?

如何为JSP配置spring boot mvc app?

我是Spring boot(和servlet 3.0)的新手。 我试图用JSP作为视图创建spring mvc项目。 当我从我的控制器返回一个视图时,它没有被解析为JstlView。 这是我做的: @SpringBootApplication public class MyApp extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Controller public class MainController { @RequestMapping( value=”/main” , method = RequestMethod.GET ) public String main(){ return “main”; } @RequestMapping( value=”/” , method = RequestMethod.GET ) public String welcome(){ return “welcome”; } […]

Spring Boot:如何使用多个yml文件

在Spring Boot中,我知道我可以用application.yml替换application.properties并使用YAML格式。 但是,我的application.yml越来越拥挤,所以我需要把它分开一点。 我怎样才能做到这一点? 我想做这样的事情: … @Configuration @EnableAutoConfiguration @EnableWebMvc @EnableScheduling @PropertySource({“classpath:application.yml”, “classpath:scheduling.yml”}) public class ApplicationConfig { …

Custom Spring Boot starter:你如何向MessageSource贡献i18n消息?

我正在编写一个自定义的Spring Boot启动程序,其他开发人员将放入他们的应用程序,这个启动程序包含开箱即用的控制器和UI屏幕。 这些UI屏幕是国际化的,i18n键/值位于包文件中: com/foo/wherever/i18n.properties 。 我想确保在启动时加载我的启动器时,这些i18n.properties在应用程序的MessageSource自动可用,以便我的UI页面工作(通过普通的Spring Controller + ViewResolver + View实现呈现), 而app开发人员不必指定这个文件本身 。 换句话说,他们应该能够将我的启动器添加到他们的运行时类路径中,并且一切“正常工作”而无需配置任何东西。 现在,我发现app开发人员可以创建自己的src/main/resources/messages.properties文件, 并在application.properties手动配置其他消息文件: spring.messages.basename = messages, com.foo.wherever.i18n 这将有效。 但是,这需要以下两个方面: 他们必须手动配置spring.messages.basename属性 – 它不是自动的。 和 它们必须在其应用程序类路径中拥有自己的messages.properties文件。 如果messages.properties文件不存在,则spring.messages.basename甚至不起作用。 即使他们不关心i18n,这仍然是必需的 – 不可取。 我想我可以将我的i18n.properties文件移动到启动器.jar中的类路径:/messages.properties文件中,但这似乎不是一个好的解决方案:如果app dev有自己的messages.properties文件只有一个它们将被读取,导致消息值丢失。 看起来好像Spring Boot MessageSourceAutoConfiguration应该有一个CompositeMessageSource的概念,它迭代Spring ApplicationContext中可用(和Order ed)的一个或多个MessageSource实例,并由DispatcherServlet使用。 这将允许任何启动器仅通过在其自动配置中声明MessageSource来贡献可用消息 有可能做我的要求吗? 应用程序开发人员最关心的解决方案是什么?

如何使用@RequestMapping在Spring MVC Controller中优化我的代码?

在我的控制器中,我的控制器方法名称等于请求映射URL。例如, /list等于方法名称list 。 是否有一个通用的处理程序方法来缩短我的代码?我不想以这种方式编写每个控制器和方法。我记得.net mvc有一个简单的方法来配置它。关于Spring MVC怎么样? @Controller @RequestMapping(value = “/fooController “) public class FooController { @RequestMapping(“/list”) public String list(…) { … } @RequestMapping(“/save”) public String save(…) { … } @RequestMapping(“/delete”) public String delete(…) { … } } @Controller @RequestMapping(value = “/basketballController “) public class BasketballController { @RequestMapping(“/list”) public String list(…) { … } @RequestMapping(“/save”) public […]

带有Spring Boot REST应用程序的OAuth2 – 无法使用令牌访问资源

我想在我的REST spring启动项目中使用OAuth2。 使用一些示例我已经为OAuth2创建了配置: @Configuration public class OAuth2Configuration { private static final String RESOURCE_ID = “restservice”; @Configuration @EnableResourceServer protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter { @Override public void configure(ResourceServerSecurityConfigurer resources) { // @formatter:off resources .resourceId(RESOURCE_ID); // @formatter:on } @Override public void configure(HttpSecurity http) throws Exception { // @formatter:off http .anonymous().disable() .authorizeRequests().anyRequest().authenticated(); // @formatter:on } } @Configuration […]

没有Spring-boot的Eureka服务发现

我写了一个spring boot微服务和一个REST客户端。 客户端是另一个模块的一部分,并对微服务进行RESTful调用。 微服务向Eureka注册表注册,我希望我的客户端(这不是一个Spring启动项目)使用Eureka查询和获取服务端点。 我的问题是因为客户端不是Spring-Boot应用程序我不能使用@SpringBootApplication , @EnableDiscoveryClient等注释,并且DiscoveryClient不会自动连接到应用程序。 无论如何都要在不使用注释的情况下手动将DiscoveryClient bean自动连接到客户端?

如何在spring boot中使用应用程序上下文获取bean

我正在开发一个spring boot项目,我希望使用applicationContext来获取bean的名称。 我在网上尝试了很多解决方案,但无法成功。 我的要求是我有一个控制器 ControllerA 并且内部控制器ai有一个方法getBean(String className) ,我想获取已注册bean的实例。 我有hibernate实体,我想通过仅在getBean方法中传递类的名称来获取bean的实例。 如果有人知道解决方案,请帮忙