小编Ser*_*auk的帖子

如何在没有@Id的情况下使用spring Repository?

我在CrudRepository整个申请过程中都使用了spring .现在我想创建一个@Entity没有的@Id.这有可能吗?

//probably ID is always required?
public interface Repository<T, ID extends Serializable>
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-data

24
推荐指数
1
解决办法
3万
查看次数

如何从OAuth2授权服务器/用户端点获取自定义用户信息

我有一个配置了@EnableResourceServer注释的资源服务器,它通过user-info-uri参数引用授权服务器,如下所示:

security:
  oauth2:
    resource:
      user-info-uri: http://localhost:9001/user
Run Code Online (Sandbox Code Playgroud)


授权服务器/用户端点返回的扩展名org.springframework.security.core.userdetails.User包含例如电子邮件:

{  
   "password":null,
   "username":"myuser",
    ...
   "email":"me@company.com"
}
Run Code Online (Sandbox Code Playgroud)


每当访问某个资源服务器端点时,Spring通过调用授权服务器的/user端点来验证后台的访问令牌,它实际上会返回丰富的用户信息(其中包含例如电子邮件信息,我已经使用Wireshark验证了该信息).

所以问题是如何在没有明确第二次调用授权服务器/user端点的情况下获取此自定义用户信息.Spring是否在授权后将其存储在资源服务器本地的某个位置,或者如果没有任何可用的开箱即用,那么实现此类用户信息的最佳方式是什么?

spring spring-security spring-boot spring-cloud spring-oauth2

19
推荐指数
2
解决办法
5万
查看次数

以递归方式将属性从一个bean复制到另一个bean(不是同一个类)(包括嵌套bean)

哪种方法需要最少量的自己编写的代码来实现一个bean到另一个bean的深层复制?目标是在源名称和目标属性按名称匹配时以自动方式执行此操作.

源主豆:

public class SourceBean {
    private String beanField;
    private SourceNestedBean nestedBean;

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

源嵌套bean:

public class SourceNestedBean {
    private String nestedBeanField;

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

目标主bean:

public class TargetBean {
    private String beanField;
    private TargetNestedBean nestedBean;

    // getters and setters        
}
Run Code Online (Sandbox Code Playgroud)

目标嵌套bean:

public class TargetNestedBean {
    private String nestedBeanField;

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)


使用例如Spring BeanUtils.copyProperites()我可以使用一行代码创建一个SourceBeanto 的浅表副本,TargetBean但它不会复制嵌套bean.是否有任何成熟的实用程序(不一定是Spring Framework)允许在编写尽可能少的代码时进行深层复制(与BeanUtils.copyProperties()几乎相同)?

java spring javabeans spring-bean

9
推荐指数
1
解决办法
2万
查看次数

为什么即使未作为参数传递,'event'变量也可用?

我想知道为什么以下代码在某些浏览器中有效?即使click()函数没有参数,但是event存在变量并且dosomething在事件触发器对象上调用方法?

$(<selector>).click(function () {
  $(event.target).<dosomething>
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

9
推荐指数
1
解决办法
2122
查看次数

如何使用Swagger注释订购API端点(Springfox)

我希望标@ApiOperation有的控制器端点在Swagger规范中按特定顺序排列。试图设置position@ApiOperation是这样的:

@ApiOperation(value = "xxx", position = 1)

似乎对结果没有影响。有什么建议么?

java spring swagger springfox

7
推荐指数
0
解决办法
572
查看次数

JUnit 和 hamcrest: containsInAnyOrder() 可以详细说明不匹配吗?

Set使用 JUnit 和Hamcrest Matchers测试 a 时,我注意到该Matchers.contains()方法提供了一个很好的线索,说明测试出了什么问题。另一方面Matchers.containsInAnyOrder()差异报告几乎没有用。这是测试代码:

简单豆:

public class MyBean {
    private Integer id;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }       
}
Run Code Online (Sandbox Code Playgroud)

JUnit 测试:

import java.util.HashSet;
import java.util.Set;

import org.junit.Test;

import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;

public class MyTest {

    @Test
    public void hamcrestTest() {
        Set<MyBean> beanSet = new HashSet<MyBean>();

        MyBean bean = new MyBean();
        bean.setId(1);
        beanSet.add(bean);

        bean = new MyBean();
        bean.setId(2);
        beanSet.add(bean); …
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing hamcrest

5
推荐指数
1
解决办法
7165
查看次数

除了父类是虚函数之外没有任何虚函数的派生类的虚表

是否将为派生类创建虚拟表,除了父类之外没有任何虚函数,虚拟函数不会被派生类覆盖.

对于前:

class A{
public:
    virtual void show();

};

class B : public A
{

};
Run Code Online (Sandbox Code Playgroud)

B类虚拟表怎么样?

c++ polymorphism inheritance

5
推荐指数
1
解决办法
839
查看次数

Swagger + Spring:是否可以保留有效负载中的字段顺序?

假设我的有效载荷类是:

public class Payload {
  private final long id;
  private final String aField;
}
Run Code Online (Sandbox Code Playgroud)

springfox将按照字典顺序对有效负载字段进行排序,这将产生以下有效负载规范:

{
  "aField": "string",
  "id": 0
} 
Run Code Online (Sandbox Code Playgroud)

是否有任何控制参数告诉springfox保留原始字段顺序?

java spring swagger springfox

5
推荐指数
1
解决办法
2430
查看次数

带有 -regex 选项的 Linux“find”命令无法按预期工作

foo我在当前目录中有一个文件。然后我运行以下命令:

  1. find . -regex 'foo'什么也没找到
  2. find . -regex 'foo.*'什么也没找到
  3. find . -regex '.*foo'找到文件

我希望这些命令中的任何一个都会产生积极的结果。

find命令版本是4.4.2

regex linux bash find

3
推荐指数
1
解决办法
1752
查看次数