【发布时间】:2019-06-22 14:28:26
【问题描述】:
我正在使用 lombok,但当我创建该类 Sts 的对象时,@AllArgConstructor 似乎不起作用,显示为
描述资源路径位置类型 构造函数 Employee(String, String, String[]) 未定义 EmployeeController.java /spring-solr/src/main/java/com/ajay/solr/controller line 21 Java Problem
package com.ajay.solr.model;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.SolrDocument;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@SolrDocument(collection = "Employee")
public class Employee {
@Id
@Field
private int id;
@Field
private String name;
@Field
private String[] address;
}
我使用的类是
package com.ajay.solr.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import com.ajay.solr.model.Employee;
import com.ajay.solr.repository.EmployeeRepository;
@RestController
public class EmployeeController {
@Autowired
private EmployeeRepository empRepository;
public void addEmployees() {
List<Employee> employees = new ArrayList<>();
employees.add(new Employee(373,"Sunil",new String[] {"Hyderabad","Gazipur"}));
employees.add(new Employee(374,"Ajay",new String[] {"AnjaiyahNagar","Maharajganj"}));
employees.add(new Employee(375,"Praveen",new String[] {"SRNagar","Baliya"}));
}
}
【问题讨论】:
-
id 是一个整数。你正在传递一个字符串。
-
现在您编辑了代码,该代码无法生成您发布的错误。
-
再添加一个注解@RequiredArgsConstructor
-
@BipilRaut 为什么要解决这个问题?没有
@NonNull字段。 -
@JB Nizet:我从这里提到github.com/Java-Techie-jt/spring-data-solr
标签: spring spring-boot spring-data spring-tool-suite