因此,我试图在IntelliJ中使用项目配置设置中的spring选项启动一个新的web项目,但当我最终获得项目设置时,似乎我创建的任何新控制器都被忽略了,即使我对它们进行了注释。@RequestMapping似乎从未被映射。我所能访问的只是位于web目录根目录中的文件。
在无法使其工作之后,我切换到Gradle,以便可以导入一些额外的库来测试我的项目。我的gradle文件如下所示:
buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.2.RELEASE") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'spring-boot' sourceSets { main { java { srcDirs = ['src/main/java'] } } test { java { srcDirs = ['src/main/test'] } } } jar { baseName = 'gs-rest-service' version = '0.1.0' } repositories { mavenCentral() } sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { compile("org.springframework.boot:spring-boot-starter-web") testCompile("junit:junit") testCompile "org.mockito:mockito-core:1.+" } task wrapper(type: Wrapper) { gradleVersion = '2.3' }
是否有某种配置文件我必须填写,告诉项目在哪里寻找控制器,还是pixie dust没有像我期望的那样工作?
下面是我的控制器的样子:
@RestController public class GreetingController { public static final String greeting = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @RequestMapping("/greeting") public Greeting greeting(@RequestParam(value="name", defaultValue = "World") String name){ return new Greeting(counter.incrementAndGet(), String.format(greeting, name)); } }
以及用@SpringBootApplication注释的类:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
和我的文件夹结构:
Test - .gradle - .idea - build - gradle - out - src - main - java - controllers - Application.java - GreetingController.java - test - web - WEB-INF - (empty)
我真的很困惑spring在这一点上是如何工作的,因为注释还没有发挥作用。我是否缺少配置文件?spring入门教程说我不需要一个,但可能是因为我正在使用IntelliJ。
最后要注意的一点是,我正在使用本地Tomcat实例运行。
谢谢大家!
如果在Tomcat中部署应用程序,则必须创建一个扩展SpringBootServletInitializer的类来启动spring容器。只有在使用Java-jar yourfile.jar运行带有嵌入式Tomcat(默认情况下spring boot Starter Web包含)的jar/war时,才会调用带有main方法的应用程序类。
请参阅文档:http://docs.spring.io/spring-boot/docs/1.2.3.release/reference/htmlsingle/#howto-create-a-deployable-war-file
我正在尝试在数据库中保存对象。正在执行代码并创建实体的Id,但实体未持久化到数据库(未插入行): 从三行(beginTransation,flush,commit)中删除注释解决了问题,但是为什么注释在这里不起作用呢? spring XML: POM xml文件:
我在玩和 这是我的应用程序上下文文件 以下是我的Java类 HelloWorld1。JAVA 住址JAVA 这里是我尝试运行东西的地方-应用程序。JAVA 我一直在得到这个异常-理想情况下我不应该,因为我已经定义了id为'address1'的@Qualifier注释-所以它不应该抛出异常 警告:上下文初始化过程中遇到的异常-取消刷新尝试:org.springframework.beans.fact
有人知道如何在Android项目中启用Eclipse中的注释处理吗?我做了以下工作: 使用处理器和META-INF创建Java项目 如果我从文件夹中删除jar文件,Eclipse会报告项目中的错误,因为找不到注释处理器。但是,如果处理器就位并且配置了Eclipse,则不会进行处理 如果我在标准Java项目中使用相同的处理器,它就可以正常工作<有人能帮我吗?谢谢
我的spring应用程序有点小问题。下面是我的代码: (存储库) 下面是我的简单服务类: 更新:配置
我将Spring 3.2.4与JavaFX结合使用,并希望实现一种方法,其中操作将在事务中执行。我在控制器中的代码如下所示: 以及我的应用程序上下文: 尝试运行时,我收到以下错误消息: 该方法存在。删除注释,或者将方法从public更改为private,或者从配置中删除bean,程序就会运行,但事务注释根本不起作用。删除代理目标会导致另一个错误。