小编Boy*_*lev的帖子

eureka发现客户端 - 选择性禁用

有没有办法根据弹簧配置文件禁用spring-boot eureka客户端注册?

目前我使用以下注释:

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableConfigServer

public class ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要的是一个条件如(借用伪代码)

@if (Profile!="development")
@EnableDiscoveryClient
@endif
Run Code Online (Sandbox Code Playgroud)

或者在应用程序属性文件中的某种方式.我已经尝试将application.yml文件设置为:

spring:
  profiles: development
  cloud:
    discovery:
      enabled: false
Run Code Online (Sandbox Code Playgroud)

但这没效果.

spring spring-boot netflix-eureka

16
推荐指数
6
解决办法
3万
查看次数

比a = a + 5快+ = 5?

我目前正在学习C#中的运算符和表达式,我明白如果我想将变量的值增加5,我可以用两种不同的方式来实现:a = a + 5a += 5.显然,第二种方式更容易,写得更快,阅读更愉快.但是,从计算机的角度来看,a += 5速度要快a = a + 5吗?编译和执行的时间是否比表达式的较长版本少?

c# expression operators

13
推荐指数
2
解决办法
389
查看次数

python中的幂运算符(**)转化为什么?

换句话说,两个星号背后是什么?它只是将数字乘以x倍或其他?作为后续问题,写2**3或2*2*2是否更好.我问,因为我听说在C++中最好不要使用pow()进行简单的计算,因为它调用了一个函数.

python operators translate

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

如何在Spring中指定用于自动装配的默认bean?

我正在编写使用此库的库和服务.我想要一个UsernameProvider服务,它负责提取登录用户的用户名.我在库中使用服务:

class AuditService {
  @Autowired
  UsernameProvider usernameProvider;

  void logChange() {
    String username = usernameProvider.getUsername();
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望有一个UsernameProvider接口的默认实现,它从JWT的主题声明中提取用户名.但是,在依赖于库的服务中,我想使用基本身份验证,因此我创建了一个BasicAuthUsernameProvider覆盖getUsername().

当有多个相同类型的autowire候选者(DefaultUsernameProvider在库中和BasicAuthUsernameProvider服务中)时,我自然会收到错误,因此我必须将服务中的bean标记为@Primary.但我不希望库客户端指定主bean,而是标记默认值.

添加@Order(value = Ordered.LOWEST_PRECEDENCE)DefaultUsernameProvider没有用.

@ConditionalOnMissingBean在库中添加Configuration类也不起作用.

编辑:原来,增加@ComponentUsernameProvider实现类呈现@ConditionalOnMissingBean无用的,因为春天引导试图自动装配注释为组件的每个类,因此抛出了"发现类型的多个豆"的例外.

java spring dependency-injection autowired

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

字符串连接作为别名在 SQLite 中显示 0?

我正在查看W3Schools 的教程,其中他们将地址、邮政编码和国家/地区组合在一起作为单列“地址”。所以我一直在使用 Northwind DB,并想对员工姓名做同样的事情:

SELECT EmployeeID, FirstName +" "+ LastName AS Name FROM Employees;
Run Code Online (Sandbox Code Playgroud)

但我得到的只是“名称”列中的 0。我认为 SQLite 已经隐式地将字符串转换为整数,但这没有意义......

sql sqlite alias

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

如何将以字符串形式给出的方程式分解为系数,变量和幂?

因此,我必须创建一个采用以下形式的字符串的程序: 2x^3 + x^2 - 4并计算其派生值,即使其像这样:6x^2 + 2x

因此,我正在创建一个class Monomial具有三个成员变量的变量:系数,变量名称和功效。换句话说,我必须将多项式分解为单项式。然后,我必须将每个单项式分解为上述变量。因此2x^3将表示为以下对象:Monomial(2, 'x', 3)

但是,我该如何专门分割字符串呢?我不想使用“ SymPy”或其他库来轻松计算导数。

python oop string

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

如何测试控制器方法是否将请求转发到特定 URL?

在我的 Spring Boot 应用程序中,我有以下控制器,它使用一个方法将所有 HTML5 路由重定向到根 URL**:

@Controller
public class RedirectController {

  @RequestMapping(value = "/**/{path:[^\\.]*}")
  public String redirect() {
    return "forward:/";
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该如何正确测试它是否按预期工作?

调用类的content()方法MockMvcResultMatchers不起作用:

  @Test
  public void givenPathWithoutDotShouldReturnString() throws Exception {
    this.mockMvc.perform(get("/somePath"))
        .andExpect(content().string("forward:/"));
  }

>>> java.lang.AssertionError: Response content 
>>> Expected :forward:/
>>> Actual   :
Run Code Online (Sandbox Code Playgroud)

** 我从这个 Spring 教程中发现了这个解决方案。

spring unit-testing mocking mockmvc

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

如何用C#中的8位表示4位二进制数?

我试图找到答案,但我无法提出我的问题.所以我试图解决这个问题.我必须用它的二进制代码表示一个十进制数,我对表示做得很好.我用的很简单Convert.ToString(number, 2).但是,如果我输入5,例如,控制台上的输出将是"101",但我更喜欢"00000101".我相信应该有这样做的方法,但我找不到任何.

提前致谢!

c# binary

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

在C#中向字典添加和打印键/值的不同方法?

我找不到关于这个主题的相关主题,所以我决定提出一个新问题.我是C#Dictionary课程的第一步,我有几个基本问​​题.首先,这个有什么区别:

Dictionary<int, string> dict = new Dictionary<int, string>();

    dict[1] = "hello";
Run Code Online (Sandbox Code Playgroud)

这个(如果有的话):

Dictionary<int, string> dict = new Dictionary<int, string>();

    dict.Add(1, "hello");
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是:是否有任何方法可以在同一行添加多个条目(如果我可以调用一对键和值).有点像int a, b, c;,而不是int a; int b; int c;.或者只能在多行上添加它们:

dict.Add(1, "hello");
dict.Add(2, "hey");
Run Code Online (Sandbox Code Playgroud)

我关于字典输出的最后一个问题是,如果有一种"更好"的方式来打印字典,而不是这样做:

foreach (KeyValuePair<int, string> pair in dict)
    {
        Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
    }
Run Code Online (Sandbox Code Playgroud)

就更快打字和更快执行而言,我的意思是"更好".(我知道它也适用var,而不是KeyValuePair<>.

c# dictionary

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

C++ STL关系运算符如何比较堆栈?

说我有两个堆栈:

stack<int> s1, s2;
Run Code Online (Sandbox Code Playgroud)

然后我在其中推送一些值:

s1.push(2);
s1.push(4);
s1.push(5);

s2.push(1);
s2.push(2);
s2.push(10);
Run Code Online (Sandbox Code Playgroud)

当我像这样比较bool isEqual = (s1 > s2);它时,它会产生True.但为什么?并非所有s1的元素都大于相应的s2元素,并且所有元素的总和也不大于s2的元素.STL数据结构之间的确切比较方法是什么.

PS我想这也适用于队列,deques,列表.

c++ stack stl data-structures

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