Tag: 春季启动

Spring Boot:无法访问本地主机上的REST控制器(404)

我正在尝试修改Spring Boot网站上的REST Controller示例。 不幸的是,当我尝试访问localhost:8080/item URL时,出现以下错误。 { "timestamp": 1436442596410, "status": 404, "error": "Not Found", "message": "No message available", "path": "/item" } POM: <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>SpringBootTest</groupId> <artifactId>SpringBootTest</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <javaVersion>1.8</javaVersion> <mainClassPackage>com.nice.application</mainClassPackage> <mainClass>${mainClassPackage}.InventoryApp</mainClass> </properties> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>${javaVersion}</source> <target>${javaVersion}</target> </configuration> </plugin> <!– Makes the Spring Boot app executable for a jar […]

Spring Boot:SpringBootServletInitializer已弃用

我正在尝试通过以下方式将Spring Boot应用程序部署到JBoss。 它运行良好,但SpringBootServletInitializer在1.4.0.RELEASE中已弃用。 我应该使用哪一个? Maven依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> Java代码 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.web.SpringBootServletInitializer; @SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

在使用@Retention,@Transactional,@Inherited进行注释服务的testing之后,TestNGunit testing不起作用

我正在testing一个商业服务与TestNG,在春季启动应用程序的mockitounit testing。 应用程序是多模块弹簧引导项目。我正在为业务模块编写unit testing。 我已经在pom中添加了以下相关性testing, <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>${testng.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>el-api</artifactId> <version>${javaxel.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.servlet</artifactId> <version>${javax.servlet.version}</version> <scope>test</scope> </dependency> 我的包装注释看起来像 @Service @Transactional @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Inherited public […]

使用YAML的Spring @PropertySource

Spring Boot允许我们用YAML等价物replace我们的application.properties文件。 但是,我似乎打破了我的testing的障碍。 如果我注释我的TestConfiguration (一个简单的Javaconfiguration),它期望一个属性文件。 例如,这是行不通的: @PropertySource(value = "classpath:application-test.yml") 如果我在我的YAML文件中有这个: db: url: jdbc:oracle:thin:@pathToMyDb username: someUser password: fakePassword 我会用这样的东西来利用这些价值: @Value("${db.username}") String username 但是,我最终会遇到这样的错误: Could not resolve placeholder 'db.username' in string value "${db.username}" 我如何在testing中利用YAML的优点?

如何更改Spring Boot徽标到Nyan Cat?

当我的应用程序启动时,我应该看到类似于以下内容: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, […]

以jarforms运行时找不到类path资源

在Spring Boot 1.1.5和1.1.6中都有这个问题 – 我使用@Value注解加载类path资源,在STS(3.6.0,Windows)中运行应用程序时工作得很好。 但是,当我运行一个mvn包,然后尝试运行该jar,我得到FileNotFoundexception。 资源message.txt位于src / main / resources中。 我已经检查了这个jar,并确认它包含顶层的文件“message.txt”(与application.properties同级别)。 这是应用程序: @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 these work […]

Maven资源过滤不工作 – 因为弹簧引导依赖关系

在maven项目中,我试图用maven资源过滤来replace一些令牌,但是它不起作用。 我有一些其他的项目,但不能在这个单一的项目工作不知道有什么问题。 属性文件位于/src/main/resources/my.properties中 我尝试了不同的maven命令,但不起作用。 mvn clean install mvn clean install resources:resources my.properties ### Spring boot properties jdbc.url=${jdbc.url} ldap.domain=${ldap_domain} ldap.url=${ldap_url} 的pom.xml <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>com.jai</groupId> <artifactId>client</artifactId> <version>0.0.6-SNAPSHOT</version> <name>client</name> <description>client web application</description> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.2.RELEASE</version> <relativePath /> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> […]

在SpringBoot中禁用Logback

看来Springboot会自动configuration使用Logback和Tomcat。 我想禁用这个,并使用我在我的类path中提供的。 下面的错误消息。 LoggerFactory不是Logback LoggerContext,但Logback位于类path中。 删除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> <artifactId>jersey-client</artifactId> <version>1.8</version> </dependency> […]

Spring启动@ResponseBody不会序列化实体ID

有一个奇怪的问题,无法弄清楚如何处理它。 有简单的POJO: @Entity @Table(name = "persons") public class Person { @Id @GeneratedValue private Long id; @Column(name = "first_name") private String firstName; @Column(name = "middle_name") private String middleName; @Column(name = "last_name") private String lastName; @Column(name = "comment") private String comment; @Column(name = "created") private Date created; @Column(name = "updated") private Date updated; @PrePersist protected void onCreate() […]

Spring Boot:覆盖favicon

我如何覆盖Spring Boot的图标? 注意 :这是我另一个问题,提供了另一个不涉及任何编码的解决scheme: 春季启动:是否有可能使用外部application.properties文件在任何目录与一个胖的jar? 这是为application.properties,但它也可以应用到favicon。 事实上,我现在正在使用该方法来进行favicon覆盖。 如果我实现了一个具有@EnableWebMvc的类,那么Spring Boot的WebMvcAutoConfiguration类将不会加载,并且可以通过将其放置到静态内容的根目录中来服务于我自己的图标。 否则,WebMvcAutoConfiguration注册faviconRequestHandler bean(请参阅源https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ web / WebMvcAutoConfiguration.java ),它提供了放在Spring Boot主资源目录中的“绿叶”图标。 我怎样才能覆盖它没有实现一个具有@EnableWebMvc我自己的类,从而禁用WebMvcAutoConfiguration类的Spring Boot的整个默认configurationfunction? 此外,因为我想在客户端(networking浏览器)尽快更新图标文件,所以我想将favicon文件的caching周期设置为0.(如下面的代码,我正在使用'静态'webapp内容和脚本文件,在更改文件后,必须尽快在客户端更新。) public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("/") .setCachePeriod(0); } 所以,只要find保存favicon.ico文件的地方,Spring Boot的faviconRequestHandler荣誉可能是不够的。 UPDATE 现在我知道我可以通过将favicon文件放到src / main / resources目录来覆盖默认的。 但caching期问题仍然存在。 此外,最好把favicon文件放在静态网页文件放置的目录下,而不是资源目录。 UPDATE 好吧,我设法覆盖默认的一个。 我所做的是如下: @Configuration public class WebMvcConfiguration { @Bean public WebMvcConfigurerAdapter faviconWebMvcConfiguration() { return new FaviconWebMvcConfiguration(); } […]