小编Bre*_*min的帖子

通过spring注释方式给bean id

假设我有一堂课.

@Service
public class SomeService {
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public void printHello() {
        System.out.println("Spring 3 : Hello ! " + name);
    }
}
Run Code Online (Sandbox Code Playgroud)

someService豆ID是这个bean默认创建的.我想改变这个bean id来说"abc".我该怎么办?

spring

4
推荐指数
1
解决办法
4115
查看次数

SonarLint V3:“可序列化”类中的字段对于 List 接口应该是瞬态的或可序列化的

我的问题与此非常相似,只是我在 SonarLint V3 (squid:S1948) 中遇到了这个问题。

我的代码是:

public class Page<T> implements Serializable {

    Summary summary;
    List<T> elements;

    public Page() {
        summary = new Summary();
    }

    public List<T> getItemsReceived() {
        return elements;
    }

    public void setItemsReceived(List<T> list) {
        this.elements = list;
    }

    public Summary getSummary() {
        return summary;
    }

    public void setSummary(Summary summary) {
        this.summary = summary;
    }

}
Run Code Online (Sandbox Code Playgroud)

摘要对象实现了可序列化。

public class Summary implements Serializable {

    int offset;
    int limit;
    long totalElements;

    public int getOffset() {
        return offset;
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

java intellij-idea sonarqube sonarlint

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

git name-rev 有什么作用?

根据git name-rev doc

查找适合人类消化的符号名称,以通过 git rev-parse 解析的任何格式给出修订。

但我无法理解这一点。这个命令有什么用?它与git describe命令有什么不同?我认为两者也做同样的事情- 给一个 SHA1 Id,给我们返回最近的引用名称?

git

4
推荐指数
1
解决办法
2821
查看次数

在Spring Boot中测试Rest API时,Spring Test返回404而不是200

简单来说,我的控制器是这样的:

@RestController
@RequestMapping(value = "/assetservice/rest/v1.0/")
public class LibrarySearchController {


    private LibraryService libServices;
    @Autowired
    public LibrarySearchController(LibraryService libraryService)
    {
        this.libServices = libraryService;
    }

    /**
     * Get Libraries for given Collection ids 
     * @param collectionIds
     * @return List<MediaLibraryDetail>
     */

    @RequestMapping("libraries/search/")

    public MediaLibraries getLibraryTree(@RequestParam(value="collectionIds", defaultValue="")String[] collectionIds, @RequestParam(value="offset",required=false,defaultValue = "0") int offset, @RequestParam(value="limit",required=false
            ,defaultValue = "10") int limit) throws Exception{


        MediaLibraries mediaLibraries = libServices.getAllLibraries(collectionIds, offset, limit);
        System.out.println(mediaLibraries);
        if(mediaLibraries.getLibraryElements()== null)
            throw new InvalidCollectionIdFoundException();

        return mediaLibraries;

    }
}
Run Code Online (Sandbox Code Playgroud)

基本上它正在做的是采取一些输入,如collectionId(一些数字的数组),一些偏移和一些限制,并试图回馈一些数据.

为了测试这个控制器,我使用spring测试框架编写了一个测试.我已经简化了在这里提问的测试.

@RunWith(SpringRunner.class)
@WebMvcTest(value = LibrarySearchController.class, secure = false) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-test spring-boot

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

将未跟踪的文件添加到 GIT 中的未暂存区域

默认情况下,如果我使用git add,它会直接将文件添加到暂存区。我想要它,仅将其添加到未暂存区域。怎么做 ?

git

3
推荐指数
2
解决办法
928
查看次数

IntelliJ git合并工具

现在,当我尝试通过IntelliJ解决合并冲突时,我发现了这些颜色-绿色,蓝色,灰色和红色,如下图所示:

在此处输入图片说明

如果我们通过终端进行git merge,似乎标记为Green,Blue和Gray的区域将由Git merge自动处理。只有Git需要我们的意见的地方才是标有红色的区域。

那为什么IntelliJ合并工具使我们的选择变得复杂呢?它应该只显示红色,而不应该询问绿色,蓝色和灰色?

这是否意味着我们不能依靠Git算法来解析灰色,绿色和蓝色区域?到目前为止,在我对Git的整个体验中,我看到人们盲目地信任Git合并,并且仅尝试解决它所显示的冲突部分-那是红色区域吗?

git intellij-idea mergetool git-merge

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

git FETCH_HEAD 短期参考

  1. 在这里读到git FETCH_HEAD 是一个短暂的参考。git FETCH_HEAD 参考的生命周期是多少?

  2. 当我这样做时git fetch origin,在这种情况下会更新许多远程跟踪分支。FETCH_HEAD 将指向哪里?

git

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

Mac OS X 中的 git core.ignorecase = false

我已经core.ignorecase=false在本地和全局级别进行了配置,但是当我这样做git checkout MASTER(不是主控)时,我看到了如下所示的奇怪行为。我也做了git branch -v,但没有显示主控。

git checkout master
Switched to branch 'master'

git branch
* master

git checkout MASTER
Switched to branch 'MASTER'

git branch
master 
Run Code Online (Sandbox Code Playgroud)

我们可以看到 上现在没有 (*) 了master我知道 Mac OS X 文件系统不区分大小写,但是

core.ignorecase=falsea)即使在我们的操作系统控制它之后,明确提及它还有什么意义 ?

b) 如果 git 假设 MASTER 和 master 相同,为什么 master 分支上没有 (*) ?[编辑:即使你设置 core.ignorecase = true ,我们仍然会看到这个]

执行 rev-parse ,两者都指向相同的 SHA1。

git

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

Git rebase 可能的错误

我正在使用git 版本 2.23.0,这是 MAC 的最新版本,我想我在 git rebase 中发现了一个错误,除非我弄错了。错误不在功能中,而在显示消息中。

让我们使用以下脚本将我们的 git 历史记录为:

  #!/bin/bash

  git init .
  echo "10" >> 1.txt && git add . && git commit -m "1"

  # Add 2 commits to master
  echo "3" >> 1.txt && git commit -am "m3"
  echo "2" >> 1.txt && git commit -am "m2"


  #checkout topic branch
  git checkout -b topic HEAD~2
  echo "1" >> 1.txt && git commit -am "t1"
  echo "2" >> 1.txt && git commit …
Run Code Online (Sandbox Code Playgroud)

git

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

Git rebase 跳过相同的提交

根据git rebase 文档

如果上游分支已经包含您所做的更改(例如,因为您邮寄了一个应用到上游的补丁),那么该提交将被跳过。例如,在以下历史记录上运行 git rebase master (其中 A' 和 A 引入了相同的更改集,但具有不同的提交者信息):

      A---B---C topic
     /
D---E---A'---F master 
Run Code Online (Sandbox Code Playgroud)

将导致:

               B'---C' topic
              /
D---E---A'---F master
Run Code Online (Sandbox Code Playgroud)

我无法理解的是这种优化的需要是什么?如果 git 会像这样重新定位:

               A''---- B'---C' topic
              /
D---E---A'---F master
Run Code Online (Sandbox Code Playgroud)

哪里出了问题?(A = A' = A'')

编辑:为了让自己更清楚,让我们说F恢复A'. 现在变基将不适用A的补丁上F,只是B'C'。在这种情况下, git rebase 行为可能会出乎意料,对我来说这没有意义。

git

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