Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Spring Boot中使用@CrossOrigin_Spring_Spring Mvc_Spring Boot_Cors - Fatal编程技术网

在Spring Boot中使用@CrossOrigin

在Spring Boot中使用@CrossOrigin,spring,spring-mvc,spring-boot,cors,Spring,Spring Mvc,Spring Boot,Cors,我使用的是最新的Spring Boot(1.2.7版本)。我想使用包org.springframework.web.bind.annotation中的注释,如Spring文档第节所述 我想我已经拥有了所有必要的依赖项(通过Spring引导默认设置),但这令人困惑:CrossOrigin找不到,即使来自同一个包的RestController之类的东西可以工作 发生什么事了?CrossOrigin是否已从SpringMVC的更高版本中删除,或者我是否缺少一些依赖项 pom.xml: <par

我使用的是最新的Spring Boot(1.2.7版本)。我想使用包
org.springframework.web.bind.annotation
中的注释,如Spring文档第节所述

我想我已经拥有了所有必要的依赖项(通过Spring引导默认设置),但这令人困惑:
CrossOrigin
找不到,即使来自同一个包的
RestController
之类的东西可以工作

发生什么事了?
CrossOrigin
是否已从SpringMVC的更高版本中删除,或者我是否缺少一些依赖项

pom.xml:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.7.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

org.springframework.boot
spring启动程序父级
1.2.7.发布
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
弹簧起动试验
测试

好的,看起来像是最新的Spring Boot版本,
1.2.7。目前的版本
太旧了,不能有一个带有
CrossOrigin
的Spring MVC版本。()

我更新到了最新的Spring Boot 1.3候选版本(
1.3.0.RC1
),它可以工作:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RC1</version>
</parent>
更新:覆盖Spring版本 正如Stéphane Nicoll所指出的,使用Spring 4.2.2类(如
CrossOrigin
)的一种更简单的方法是:

<properties> 
    <!-- ... -->
    <spring.version>4.2.2.RELEASE</spring.version>
</properties>

4.2.2.1发布

@CrossOrigin注释用于提供跨域支持

也就是说,我们只能从不同的域访问该服务

默认情况下,这是真的


我们还可以从跨域访问服务。

您可以将Spring Boot
1.2.7
与Spring Framework
4.2.2一起使用。如果您愿意,也可以发布。前进超越不是问题。请确保在迁移到1时删除覆盖。3@St埃芬尼科尔:谢谢!我应该使用哪个依赖项(groupId/artifactId)来实现这一点?(只是
SpringWeb
?或者
SpringCore
SpringContext
等等?最简单的方法是什么?请参阅问题中的pom.xml。)顺便问一下,有没有一种简单的方法可以查看所有默认依赖项的哪些版本都附带特定的spring启动版本?今天早些时候我很难找到这些信息。4.2.2.release在评论中问更多问题可能不是个好主意。。。
<repositories>
    <repository>
        <id>spring-milestones</id>
        <url>http://repo.spring.io/milestone</url>
    </repository>
</repositories>
<properties> 
    <!-- ... -->
    <spring.version>4.2.2.RELEASE</spring.version>
</properties>