RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-291321

ImmRaytal's questions

Martin Hope
ImmRaytal
Asked: 2020-07-17 07:01:38 +0000 UTC

自定义验证器触发两次

  • 1

如果该类被标记为@Validated,那么至少有一个字段标记有我的自定义注释的实体@Unique将被检查两次。此外,第一次验证器将有一个注入的上下文和服务,第二次一切都将为空。在我看来,由于@Validated实体被检查了两次,但我不明白为什么,甚至为什么没有注入的上下文和服务?

如果未标记该类,则即使使用我的自定义注释,也可以很好地签出实体。但是参数验证不起作用,例如,publicString someFunction (@RequestParam ("email") @Email String email)如果您明确发送的不是电子邮件地址,那么一切都将转到服务,但@Validated在课堂上它已经给出了电子邮件不合适的消息。

为注解服务的类

public class UniqueValidator implements ConstraintValidator<Unique, Object> {

@Autowired
private ApplicationContext applicationContext;

@Autowired
private FieldValueExists service;
private String fieldName;

@Override
public void initialize(Unique unique) {

    Class<? extends FieldValueExists> clazz = unique.service();
    this.fieldName = unique.fieldName();
    String serviceQualifier = unique.serviceQualifier();

    if (!serviceQualifier.equals("")) {
        this.service = this.applicationContext.getBean(serviceQualifier, clazz);
    } else {
        this.service = this.applicationContext.getBean(clazz);
    }
}

@Override
public boolean isValid(Object o, ConstraintValidatorContext constraintValidatorContext) {
    return !this.service.fieldValueExists(o, this.fieldName);
}
}

注解

@Target(FIELD)
@Retention(RUNTIME)
@Constraint(validatedBy = UniqueValidator.class)
public @interface Unique {
    String message() default "Field is not unique";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
    Class<? extends FieldValueExists> service() default FieldValueExists.class;
    String serviceQualifier() default "";
    String fieldName();
}

来自实体的一段代码,其字段由我的验证器验证

@JsonRootName("userCreate")
public class UserModelCreateDto {

@Size(min = 4, max = 32)
@NotBlank
@Unique(fieldName = "login", serviceQualifier = "userServiceImpl")
private String login;

控制器

 @RestController
 @Validated
 public class AuthenticationController {

     private static Logger LOG = Logger.getLogger(AuthenticationController.class);

     @Autowired
     private UserService userService;

     @Autowired
     private ModelMapper modelMapper;


     @PostMapping("/sign-up")
     @ResponseStatus(HttpStatus.OK)
     public UserModelDto saveUser(@Valid @RequestBody UserModelCreateDto userModelCreateDto, BindingResult result) {
         if (result.hasErrors()) {
             throw new ValidationException(getValidationErrorsAsString(result));
         } else {
             UserModelDto user = userService.save(userModelCreateDto);
             LOG.info("User #" + user.getId() + " has been create account");
             return user;
         }
     }

豆

@Bean
public Validator validator (final AutowireCapableBeanFactory autowireCapableBeanFactory) {

    ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )
            .configure().constraintValidatorFactory(new SpringConstraintValidatorFactory(autowireCapableBeanFactory))
            .buildValidatorFactory();
    return validatorFactory.usingContext().getValidator();
}
java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-06-05 15:41:54 +0000 UTC

java代码的静态块有什么作用?[复制]

  • -3
这个问题已经在这里得到了回答:
静态块有什么用? (5 个回答)
3年前关闭。

什么是静态块?它是匿名方法还是什么?如何以及何时执行?我能简要介绍一下这里发生了什么吗?

public class UserDAO {

private  static Connection connection;

static {
    String url = null;
    String username = null;
    String password = null;


    try (InputStream in = UserDAO.class.getClassLoader()
            .getResourceAsStream("persistence.properties")) {
        Properties properties = new Properties();
        properties.load(in);
        url = properties.getProperty("url");
        username = properties.getProperty("username");
        password = properties.getProperty("password");
    } catch (IOException e) {
        e.printStackTrace();
    }



    try {
        Class.forName("org.postgresql.Driver");
        connection = DriverManager.getConnection(url, username, password);
    } catch (SQLException | ClassNotFoundException e) {
        e.printStackTrace();
    }
}
}
java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-06-02 23:18:46 +0000 UTC

Java Web 应用程序开发计划 [关闭]

  • 0
关闭。这个问题需要具体说明。目前不接受回复。

想改进这个问题? 重新构建问题,使其只关注一个问题。

3年前关闭。

改进问题

您需要编写一个小项目,一个具有最简单授权的在线商店和一个数据库(无需 Spring Boot)。我知道 servlet 是什么,一点点 Spring,剩下的就是小事了。

问题在计划中。更准确地说,在他缺席的情况下。我不知道从哪里开始,下一步该怎么做,以便至少在某个地方读到它,等等。

有人能告诉我从哪里开始,遵循什么模板/计划等吗?

java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-05-26 02:49:25 +0000 UTC

同步的类似物

  • -2

有一个任务。有必要实现多线程应用程序,而不使用同步。

有一个带泊位的港口(1 个泊位 - 1 艘船)。有货船和仓库。在泊位,船舶可以将货物转移到仓库或另一艘船上。

我简单地尝试在每个函数中将 ReentrantLock 放在开头和结尾。显然我误解了它是如何工作的。使用同步,您可以简单地将它挂在第一次进入函数的每个线程上,并且一切正常,但没有它 - 死胡同。谁能建议如何正确使用锁或其他方式来实现这样的应用程序?

GitHub

一段代码:

private ReentrantLock lock = new ReentrantLock();

public boolean tryTransfer(Ship ship) {// ф-ия пытается добавить груз(cargo)  в хранилище
    boolean flag;                      // capacity - объём хранилища
    lock.lock();

    if (capacity + ship.getCargo()>maxCapacity) { 
        flag = false;
    } else
    {
        capacity+=ship.getCargo();
        ship.setCargo(0);

        flag = true;
    }
         lock.unlock();
        return flag;
}
java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-05-02 01:58:08 +0000 UTC

一行代码是如何工作的?拉姆达,减少

  • 2

晚上好。找到了这条很棒的线路

String content = Files.lines(Paths.get(fileName)).reduce("",(a,b) -> a + "\n" + b);

我知道它沿路径获取一个文件fileName并将其写入一个字符串,包括到新的转换。但有趣的是代码本身是如何工作的。 Files, Paths- 其实更新的老类File Files.lines-xs(我想知道)怎么样,但是它读取整个文件,通过ctrl+click(我用IDEA)我真的什么都不懂。

还有这个reduce——你能简要介绍一下它是什么以及它是如何工作的吗?我根本不理解第一个参数,而在第二个参数中,lambda 似乎是一个表达式。括号中的参数,箭头指向func。部分?如果 a 和 b 是连接的字符串,那么它们如何以及为什么有 2 个?

java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-04-22 20:21:19 +0000 UTC

将提案组装和拆卸成单独的组件

  • -1

有一些文本,我将其分解为段落、句子和单词的 ArrayList。该代码可以从/向文件解析/收集此文本,只需在每个实体中调用嵌套表(后继)。还需要确保将句子分解为标点符号、单词、数字、符号等。我听说通过正则表达式可以设置数字和符号的模式。但是我不知道在实践中如何做到这一点,就像想出一种拆卸和组装的方法一样。有一个想法是在单词之后创建一个带有元素的表单,例如“Hello, Dear World!” 列表 - {”,”, ””, ”!”}

但我不是很喜欢,而且这些只是标点符号,但你仍然需要计算单个字符。制表符和多个空格可以替换为单个空格。有人能想出一个主意吗?

java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-04-07 17:03:26 +0000 UTC

未知的表达流[关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

想改进这个问题?通过编辑此帖子添加更多详细信息并澄清问题。

3年前关闭。

改进问题

我正在阅读各种 java 示例并遇到以下代码:

public List<String> list() {
        return model.stream()
                .map(User::getName)
                .collect(Collectors.toList());
    }

有人可以解释这里发生了什么,据我所知,正在返回用户类名称列表或其他内容吗?我在哪里可以阅读所有这些内容?

java
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-04-06 21:23:19 +0000 UTC

错误:java:错误:不支持发布版本 5

  • 11

这样的问题已经不是第一次解决了,我不记得结果是怎么解决的,好像我创建了一个新项目。有一个类,有一个方法main(),还有,System.out.println("Hello"); 调用main的时候,抛出编译错误,Error:java: error: release version 5 not supported 请问可能是什么问题,如何解决?

问题方法:

public static void main(String[] args) {
    System.out.println("Hello");
}

项目设置截图: 项目设置

java
  • 6 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-10-15 01:04:25 +0000 UTC

C#逐个字符编码字符串

  • 0

我不知道如何将循环中字符串的每个字符编码为元素的 ASCII 号。有 str - 一串英文\俄文字母。

有用

byte[] bytes = Encoding.GetEncoding(1251).GetBytes(str);

这不是 - 写道,强调str[i]他们说不可能将 char 转换为 char [] 。也许这是因为在第一种情况下有一个数组,但这里没有。

Encoding.GetEncoding(1251).GetBytes(str[i])

我想用int来表示数字,以便通过它计算出字符在字母表中的位置

c#
  • 2 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-06-07 19:40:04 +0000 UTC

C++ If/of-stream。file.clear() 函数的值

  • 0

clear() 函数到底是做什么的?seekg - 据我了解 - 将“光标”移动到位置(0),即移动到行首,并清除清除一些东西?

    ifstream file("f.txt");
    while (file >> m)
    count++;
    file.clear();
    file.seekg(0);
c++
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-05-28 23:59:00 +0000 UTC

c ++ strcpy错误[重复]

  • 0
这个问题已经在这里得到了回答:
警告“C4996:'...':此函数或变量可能不安全”是什么意思? (1 个回答)
4年前关闭。

我有一个结构数组:

struct schoolboy
{
public:
    char firstName[30];
    char secondName[30];
    char addres[50];
    int schoolNumber;
    int schoolclass;
    schoolboy input(schoolboy *base);
    schoolboy recording(schoolboy *base, schoolboy *record, int number);
};

这是实现:

int main(){
    int number;
    setlocale(LC_ALL, "Rus");

    cout << "Введите число " << endl;
    cin >> number;

    schoolboy base[28], record[28], a;

    a.input(base);
    a.recording(base, record, number);
    recordOut(record);

    system("pause");
    return 0;
}

但是有问题的功能,问题恰恰在于strcpy:

schoolboy schoolboy::recording(schoolboy *base, schoolboy *record, int 
number)
{
if (base->schoolNumber == number)
{
    if (base->schoolclass==10 || base->schoolclass==11)
    {
    cout << "1" << endl;
    for (int i = 0; i < 2; i++)
    {
        strcpy(record[i].firstName, base[i].firstName);  //тут ошибка
        strcpy(record[i].secondName , base[i].secondName);
        strcpy(record[i].addres, base[i].addres);
    }
    }
    else
    {
        cout << "Haven't 10 or 11 class" << endl;
        return *base;
    }
 }
 else
 {
    cout << "Not found" << endl;
    return *base;
 }
 return *record;

如何修复错误?您能否就结构的“主要”f-th 中的实施提供建议。

错误:

error C4996: 'strcpy': This function or variable may be unsafe.
Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
c++
  • 2 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-05-28 02:32:17 +0000 UTC

???而不是俄语字符

  • 0

最简单的代码,显示“???”。问题是什么?与您的计算机上的某些程序相同的垃圾,是什么问题以及如何解决?

#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
cout <<"Дароу"<<endl;
return 0;
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-05-18 21:32:23 +0000 UTC

C++ 将值从文件传递到数组

  • 1

我想从文件中获取数字并将它们输入到数组元素中。为什么它不起作用?while (file >> k), while (file >> m)如果我写得正确,它是如何工作的,是否可以使用不同的变量或者一个就足够了?

#include <iostream>
#include <fstream>
 using namespace std;

 int main()
{
ifstream file("f.txt");
ofstream fileout("g.txt");
int count = 0, m;
while (file >> m)
    count++;
if (count % 2 == 1)
{
    cout << "Ne 4etno. Input 4etno." << endl;
    system("pause");
    return 0;
}
int *a = new int[count];
int i = 0, k;
while (file >> k)
{
    file >> a[i];
    i++;
}

for (int j = 0; j <count; j++) {
    cout << a[j] << " ";
}
file.close();
fileout.close();
system("pause");
return 0;
}
c++
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-03-31 01:17:34 +0000 UTC

退出 C# 函数时不保存变量值

  • 0

晚上好。遇到一个问题:一个函数保存了mas.values(int[,])变量的值,可以在其他函数中使用,另外一个函数没有保存mas.average(float)变量的值. 函数声明相同。问题是什么?

完整代码:tyk

ps 昨天刚开始学C#

这是一个工作功能

static public void Sort(ARRAY mas) //сортировка
        {
            int temp;       //"буферная" переменная
            for (int m = 0; m < mas.size1 * mas.size2; m++)
                for (int k = 0; k < mas.size1; k++)
                    for (int l = 0; l < mas.size2 - 1; l++)
                    {
                        if (mas.values[k, l] > mas.values[k, l + 1])
                        {
                            temp = mas.values[k, l];
                            mas.values[k, l] = mas.values[k, l + 1];
                            mas.values[k, l + 1] = temp;
                        }
                    }
        }

并且它不想存储 mas.average 的值

 static public void Arg(ARRAY mas)        // среднее значение
        {
            int sum = 0;
            for (int i = 0; i < mas.size1; i++)
            {
                for (int j = 0; j < mas.size2; j++)
                    sum += mas.values[i, j];
            }
            Console.WriteLine("sum =" + sum);
            mas.average = sum / mas.size1 * mas.size2;
            Console.WriteLine(mas.average + "<-arg");
        }
c#
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-03-28 21:18:35 +0000 UTC

在c ++中重新创建和填充数组[重复]

  • 1
这个问题已经在这里得到了回答:
C++ 内存或语法错误 2 个答案
4年前关闭。

我第一次填充数组 - 一切正常。我在不离开程序的情况下再次填充它 - 输出期间发生错误(触发异常,并写入无法读取)。问题是什么?

cout << "Введите кол-во рейсов" << endl;
cin >> k;
AEROFLOT * n = new AEROFLOT[k];
*n = set(n, k);
while (1)
{
    cout << "1. Ввод информации" << endl;
    cout << "2. Вывод информации по всем рейсам" << endl;
    cout << "0. Выход" << endl;
    cin >> check;           

    switch (check)
    {
    case 1:
    {
        cout << "Введите новое кол-во рейсов" << endl;
        cin >> k;
        delete[] n;
        AEROFLOT * n = new AEROFLOT[k];
        *n = set(n, k);
        break;
    }
c++
  • 1 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-03-28 04:15:31 +0000 UTC

C++ 内存或语法错误

  • 0

晚上好。我正在编写一个程序代码,该代码应该具有 AEROFLOT 结构类型数组的输入和输出函数。适用于一次航班。不带两个。胡说八道,我认为它会导致一段不存在的记忆。但我不明白为什么。同时我请你分析代码。我释放了内存是真的吗?我还想将这些功能推入一个结构中。也许有人会建议怎么做?

#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <iomanip>
using namespace std;
struct AEROFLOT
{
public:
char Trip[20];      //номер рейса
char Departure[30];  // пункт отправления
char Destination[30];  //пункт назначения
char Type[30];  //тип самолёта
float   Time; //Время в пути
};
AEROFLOT set(int k);
void out(AEROFLOT *n, int k);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int k, check;

cout << "Введите кол-во рейсов" << endl;
cin >> k;
AEROFLOT * n = new AEROFLOT[k];
*n = set(k);


while (1)
{
    cout << "1. Ввод информации" << endl;
    cout << "2. Вывод информации по всем рейсам" << endl;
    cout << "3. Выход" << endl;
    cin >> check;
    switch (check)
    {
    case 1:
    {
        cout << "Введите новое кол-во рейсов" << endl;
        cin >> k;
        AEROFLOT * n = new AEROFLOT[k];
        *n = set(k);
        break;
    }
    case 2:
    {
        system("cls");
        out(n, k);
        break;
    }
    case 3:
    {
        delete n;
        return 0;
    }

    default: cout <<endl<< "Неверный ввод! Повторите. " << endl;
        cout << endl;
        break;
    }   
}
return 0;
}
AEROFLOT set(int k)
{
AEROFLOT *n = new AEROFLOT[k];
for (int i = 0; i < k; i++)
{
    cout << "Введите номер "<<i+1<< "-го рейса: " << endl;
    cin >> n[i].Trip;
    cout << "Введите пункт отправления " << i+1 << "-го рейса: " << endl;
    cin >> n[i].Departure;
    cout << "Введите пункт назначения " << i+1 << "-го рейса: " << endl;
    cin >> n[i].Destination;
    cout << "Введите тип самолёта " << i+1 << "-го рейса: " << endl;
    cin >> n[i].Type;
    cout << "Введите время в пути(мин) " << i+1 << "-го рейса: " << endl;
    cin >> n[i].Time;
}
system("cls");
return *n;
}
void out(AEROFLOT *n, int k)
{
for (int i = 0; i < k; i++)
{
    cout << "___________________________________________" << endl;
    cout << "|Номер рейса:       |"<< setw(20) << n[i].Trip<<" |"<< endl;
    cout << "___________________________________________" << endl;
    cout << "|Пункт отправления: |"<< setw(20) << n[i].Departure <<" |"<< 
endl;
    cout << "___________________________________________" << endl;
    cout << "|Пункт назначения:  |"<< setw(20) << n[i].Destination<< " |"
<<endl;
    cout << "___________________________________________" << endl;
    cout << "|Тип самолёта:      |"<< setw(20) << n[i].Type <<" |"<< endl;
    cout << "___________________________________________" << endl;
    cout << "|Время в пути:      |"<< setw(16) << n[i].Time<<" мин"<<" |" << 
endl;
    cout << "___________________________________________" << endl;
    cout << endl;       
}
system("pause");
system("cls");
}
c++
  • 2 个回答
  • 10 Views
Martin Hope
ImmRaytal
Asked: 2020-03-25 23:12:34 +0000 UTC

Android Studio 中的 3 个错误/警告

  • 1

再会。开始学习 Android Studio 和 Java。决定从创建一个简单的程序开始。有3个字段。其中 2 个输入数字。在第三个字段中,它们的总和通过按下按钮显示。以下截图中的错误。有人可以解释什么是错的以及如何解决它。

  package com.example.admin.test;

      import android.support.v7.app.AppCompatActivity;
      import android.os.Bundle;
      import android.view.View;
      import android.widget.EditText;
      import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public void onButtonClick (View v) {
    EditText el1 = (EditText) findViewById(R.id.num1);
    EditText el2 = (EditText)findViewById(R.id.num2);
    TextView resText = (TextView)findViewById(R.id.sum);
    int number1 = Integer.parseInt(el1.getText().toString());
    int number2 = Integer.parseInt(el2.getText().toString());
    int res = number1 + number2;
    resText.setText(Integer.toString(res));
}

}

错误1。 将 findViewById(R.id.num2) 转换为 EditText 是多余的 错误2。 方法 ... 从未使用过。 这似乎不是错误,而是警告它不在任何地方使用(?!) 错误 3。 数字格式不考虑区域设置。 考虑使用 String.format 代替..

java
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5