小编Rod*_*eas的帖子

如何检查是否按下了大写锁定键?

好吧,在此之前被标记为可能重复,我已经尝试了以下代码:

Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK)
Run Code Online (Sandbox Code Playgroud)

它总是对我不利[见下文].有人可以确认这是否应该有效,我是在滥用它,或者它是否已被破坏?如果它实际上已经坏了,有没有人有更好的使用方法?

编辑:

好吧,刚刚发现了更多的东西.它似乎只是返回我的程序启动时的状态.如果我用它启动程序,它会打开,反之亦然.这是我的代码:

while (true) {
    boolean isOn = Toolkit.getDefaultToolkit().getLockingKeyState(
        KeyEvent.VK_CAPS_LOCK);
    System.out.println("Caps lock is now: " + (isOn ? "ON" : "off"));
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
    }
}
Run Code Online (Sandbox Code Playgroud)

而这总是打印出它开始的任何东西

(例如,如果我开始大写锁定,即使我立即将其关闭,它也会打印出来:

大写锁定现在是:开

大写锁定现在是:开

大写锁定现在是:开

大写锁定现在是:开

等等,如果我从它开始,它将打印出来,无论如何)

java capslock

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

如何摆脱这个圆圈上半部分的薄白色轮廓?

我似乎无法摆脱这个圆圈上半部分的薄白色轮廓.关于如何修复它的任何想法? JSFiddle演示

body {
        background-color: black;
        padding:50px;
    }
    .square {
        background-color: white;
        margin-bottom: 20px;
        height: 200px;
		width: 200px;
		overflow: hidden;
		}
    .halfSquare {
		background-color: #462a04;
		height: 100px;
		width: 200px;
		}
    .circle {
	    background-color: white;
		height: 200px;
		width: 200px;
		border-radius: 50%;
		overflow: hidden;
		}
    .halfCircle {
		background-color: #462a04;
		height: 100px;
		width: 200px;
		}
Run Code Online (Sandbox Code Playgroud)
<body>
  <div class="square"><div class="halfSquare"></div></div>
  <div class="circle"><div class="halfCircle"></div></div>	
</body>
Run Code Online (Sandbox Code Playgroud)

html css

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

带有本机查询和数据投影的Spring JPA,将错误的列映射到投影的接口

我有一个奇怪的问题,我不知道为什么会发生。我敢肯定我做错了,因为这是我第一次使用数据投影,而使用DTO从来没有这样的问题。

我几乎有一个SELECT政治家,正在返回各种数据类型的某些列。我有一个接口要传递给JPA存储库,以便它可以进行接口映射。但是,它不是根据列名(例如'accountnum'-> getAccountnumber())映射结果,而是按字母顺序映射列。因此,如果“ date_of_order”是SELECT语句中的第一个,则其值将由返回getAccountnumber()

我有一个预计的界面,看起来像这样:

public interface FlatSearchResult {
    String getAccountnumber();
    UUID getTrackingId;
    Date getDateOfOrder;
}
Run Code Online (Sandbox Code Playgroud)

我的模型有三个这样的表:

ACCOUNT
  - account_id : uuid (pkey)
  - accountnumber : string
ORDERS
  - order_id : uuid (pkey)
  - date_of_order : timestamp
  - account_id : uuid (fkey)
TRACKING
  - tracking_id : uuid (pkey)
  - order_id : uuid (fkey)
Run Code Online (Sandbox Code Playgroud)

这些表中的每个都有其他列,但是它们并不相关。

我有一个使用简单查询定义的存储库:

public interface OrderTrackingRepository extends JpaRepository<Account, UUID> {
  @Query( nativeQuery = true,
          value = "SELECT o.date_of_order, a.accountnumber, t.tracking_id " +
                  "FROM account as …
Run Code Online (Sandbox Code Playgroud)

spring hibernate spring-data-jpa

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

如何本地化我的 Angular 11 库?

我正在将我的 Angular 11 应用程序重构为库。我的常规应用程序是本地化的,@angular/localize用作开发依赖项,因此我$localize在我的部分代码中使用了该指令。我需要将带有此指令的代码移动到库中,但我不知道如何执行此操作。

在我的库package.json文件中,我添加了一个 peer-dependency on@angular/localize以匹配我的应用程序中的 devDependency:

{
  "name": "example",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^11.0.0",
    "@angular/core": "^11.0.0",
    "@angular/localize": "~11.0.0"
  },
  "dependencies": {
    "tslib": "^2.0.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,编译器报告说,$localize当我尝试执行ng build <library name>.

× Compiling TypeScript sources through NGC
ERROR: projects/example/src/lib/example.service.ts:52:23 - error TS2304: Cannot find name '$localize'.

52         description = $localize `example localized text`;
                         ~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

如何$localize在我的库中使用该指令?

>ng version

     _                      _                 ____ _     ___
    / \   _ …
Run Code Online (Sandbox Code Playgroud)

angular angular-library angular-localize

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

BindingResult 方法参数的存在决定了抛出异常吗?

我有一个 Spring @RestController,它的 POST 端点定义如下:

@RestController
@Validated
@RequestMapping("/example")
public class Controller {

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public ResponseEntity<?> create(@Valid @RequestBody Request request,
                                    BindingResult _unused, // DO NOT DELETE
                                    UriComponentsBuilder uriBuilder) {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

它还有一个异常处理程序javax.validation.ConstraintViolationException

@ExceptionHandler({ConstraintViolationException.class})
@ResponseStatus(HttpStatus.BAD_REQUEST)
ProblemDetails handleValidationError(ConstraintViolationException e) {...}
Run Code Online (Sandbox Code Playgroud)

我们的 Spring-Boot 应用程序用于spring-boot-starter-validation验证。该Request对象使用javax.validation.*注释将约束应用到各个字段,如下所示:

public class Request {

    private Long id;

    @Size(max = 64, message = "name length cannot exceed 64 characters")
    private String name;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

如上所述,如果您使用无效请求 POST 请求,验证将抛出 ConstraintViolationException,该异常将由异常处理程序处理。这有效,我们对其进行了单元测试,一切都很好。 …

java spring-mvc bean-validation spring-boot

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

Java继承中的方法重写

package P1;

public class Base {

   private void pri( ) { System.out.println("Base.pri()");  }

   void pac( ) {  System.out.println("Base.pac()");  }

   protected void pro( ) { System.out.println("Base.pro()"); }

   public void pub( ) { System.out.println("Base.pub()"); }

   public final void show( ) {
       pri();  
       pac();  
       pro();  
       pub(); 
   }    
} 
Run Code Online (Sandbox Code Playgroud)

package P2;

import P1.Base;

public class Concrete1 extends Base {
   public void pri( ) { System.out.println("Concrete1.pri()"); }
   public void pac( ) { System.out.println("Concrete1.pac()"); }
   public void pro( ) { System.out.println("Concrete1.pro()"); }
   public void pub( …
Run Code Online (Sandbox Code Playgroud)

java inheritance

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

Spring-ReactiveWeb!添加Swagger 2文档后Netty无法启动

Swagger是否支持Spring Reactive-Web?

我试图用Reactive Web和Reactive Mongo编写一个简单的应用程序。一切正常。但是,当我在项目中添加Swagger时,Netty不会启动。

这是我的控制器类:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import uz.n0d1r.datas.Point;
import uz.n0d1r.repository.PointRepository;

@RestController(value = "/points")
public class PointController {

    private final PointRepository pointRepository;

    public PointController(PointRepository pointRepository) {
        this.pointRepository = pointRepository;
    }

    @PostMapping
    Mono<Void> create(@RequestBody Point point) {
        return pointRepository.save(point).then();
    }

    @GetMapping
    Flux<Point> list() {
        return this.pointRepository.findAll();
    }

}
Run Code Online (Sandbox Code Playgroud)

Swagger配置:

import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import …
Run Code Online (Sandbox Code Playgroud)

spring swagger-ui

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

$ 无法从 helm 模板中解析为根上下文

.Files.Glob我正在尝试在 Helm 模板中进行迭代。我将一个字符串值传递到模板中,因此我已切换为使用$.Files.Glob来引用根上下文。但是我收到一条错误消息,指出字符串类型上没有“文件”字段。

错误:

error calling include: template: example/templates/_helpers.tpl:77:29: executing "apiMounts" at <$.Files.Glob>: can't evaluate field Files in type string
Run Code Online (Sandbox Code Playgroud)

模板:

{{- define "apiMounts" -}}
{{- range $path, $_ := $.Files.Glob . }}
{{- $name := (base $path) }}
- name: specs
  mountPath: {{ printf "/etc/apis/%s" $name }}
  subPath: {{ sha256sum $name }}
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)

我如何使用模板(部署):

          volumeMounts:
            {{- include "apiMounts" "common/**.json" | indent 12 }}
            {{- include "apiMounts" "v1/**.json" | indent 12 }} …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

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

Spring-Security:返回状态401当AuthenticationManager抛出BadCredentialsException时

首先,我想指出我不太了解Spring Security,实际上我对它的接口和类知之甚少,但是我做了一个不那么简单的任务,无法弄明白.我的代码基于Spring安全论坛的以下帖子(我没有和帖子所有者一样的问题):http: //forum.spring.io/forum/spring-projects/security/747178-security-过滤器链是-总是主叫的AuthenticationManager-两次每次请求

我正在编写一个Spring MVC系统,它将提供HTTP内容,但为了做到这一点,它有一个preauth检查(我目前正在使用带有自定义AuthenticationManager的RequestHeaderAuthenticationFilter).

为了授权用户,我将针对两个来源检查令牌,即Redis缓存"数据库"和Oracle.如果在任何这些源中找不到令牌,我的自定义AuthenticationManager的authenticate方法会抛出BadCredentialsException(我认为它遵循AuthenticationManager合同).

现在我想返回HTTP响应401 - 未经授权,但Spring不断返回500 - 服务器错误.是否可以自定义我的设置以仅返回401而不是500?

这是相关的代码:

SecurityConfig - 主要的弹簧安全配置

package br.com.oiinternet.imoi.web.config;

import javax.validation.constraints.NotNull;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.security.SecurityProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.access.AccessDeniedHandlerImpl;
import org.springframework.security.web.authentication.Http403ForbiddenEntryPoint;
import org.springframework.security.web.authentication.logout.LogoutFilter;
import org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter;

@Configuration
@EnableWebSecurity
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    private static final Logger LOG = LoggerFactory.getLogger(SecurityConfig.class); …
Run Code Online (Sandbox Code Playgroud)

java security spring spring-mvc spring-security

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

在方法中使用@AssertTrue时,该方法在验证期间被调用4次(Bean Validation)

@AssertTrue当使用bean验证来验证对象的状态时,每当调用验证时,使用注释的方法就会被调用4次。每次调用只应调用一次。

Hibernate 验证器版本:5.1.3.Final

这是一个例子:

对于以下类别的摩托车:

import javax.validation.constraints.AssertTrue;
class Motorcycle{
    private int fuel;
    private int tireDurability;

    @AssertTrue(message = "motorcycle.not.available.to.use")
    public boolean isAvailable(){
        return fuel > 0 && tireDurability > 0;
    }

    public void toUse(){...}
}
Run Code Online (Sandbox Code Playgroud)

以及主要的:

import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
public class Main{
    public static void main(String []args){
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();

        Set<ConstraintViolation<Motorcycle>> violations = validator.validate(new Motorcycle());

    }
}
Run Code Online (Sandbox Code Playgroud)

validator.validate(new Motorcycle())调用时,该方法isAvailable()被调用4次。

任何人都可以帮助我解决这种情况吗?这是一个错误吗?我该如何解决这个问题?

java validation custom-validators hibernate-validator bean-validation

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