Java 带有注释的getter上的错误
我正在学习一个很好的教程:Java 带有注释的getter上的错误,java,lombok,Java,Lombok,我正在学习一个很好的教程: 我被困在35:45,因为我在Eclipse中遇到了一些错误,“c1.getProducts().add(p);”,stacktrace对我来说真是胡说八道 我的代码如下所示: @SpringBootApplication public class CatalogServiceApplication { public static void main(String[] args) { SpringApplication.run(CatalogS
我被困在35:45,因为我在Eclipse中遇到了一些错误,“c1.getProducts().add(p);”,stacktrace对我来说真是胡说八道 我的代码如下所示:
@SpringBootApplication
public class CatalogServiceApplication {
public static void main(String[] args) {
SpringApplication.run(CatalogServiceApplication.class, args);
}
/* Traitement réalisé au démarrage de l'application
* On initialise ici une partie des données
*/
@Bean
CommandLineRunner start(CategoryRepository categoryRepository, ProductRepository productRepository) {
return args->{
categoryRepository.deleteAll();
Stream.of("C1 Ordinateurs", "C2 Imprimantes").forEach(c->{
categoryRepository.save(new Category(c.split(" ")[0],c.split(" ")[1], new ArrayList<>()));
});
categoryRepository.findAll().forEach(System.out::println);
productRepository.deleteAll();
Category c1=categoryRepository.findById("C1").get();
Stream.of("P1", "P2", "P3","P4").forEach(name->{
Product p=productRepository.save(new Product(null, name, Math.random()*1000,c1));
c1.getProducts().add(p);
categoryRepository.save(c1);
});
Category c2=categoryRepository.findById("C2").get();
Stream.of("P5", "P6", "P7","P8").forEach(name->{
Product p=productRepository.save(new Product(null, name, Math.random()*1000,c2));
c1.getProducts().add(p);
categoryRepository.save(c2);
});
productRepository.findAll().forEach(p->{
System.out.println(p.toString());
});
};
}
}
我认为category类缺少一个@Getter
@Getter
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Category {
// En principe les id sont des String avec MongoDB
@Id
private String id;
private String name;
// On suppose que la liste est vide à la création de la Category
@DBRef
private Collection<Product> products = new ArrayList<>();
}
@Getter
@文件
@数据@AllArgsConstructor@NoArgsConstructor@ToString
公共类类别{
//这是一个原则性的问题
@身份证
私有字符串id;
私有字符串名称;
//假设你的名字是属于某一范畴的
@DBRef
私人收藏产品=新ArrayList();
}
发布测试!我不明白。关于该错误的任何信息都不表明类别
类是问题所在CatalogServiceApplicationTests.contextLoads
是错误源,您尚未显示它。对不起,没有人会看半个小时的视频来找出答案。产品
是否有对其类别
的反向引用?然后在toString()
、hashCode()
或equals()
中可能有一个循环。
package org.sid;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class CatalogServiceApplicationTests {
@Test
public void contextLoads() {
}
}
@Getter
@Document
@Data @AllArgsConstructor @NoArgsConstructor @ToString
public class Category {
// En principe les id sont des String avec MongoDB
@Id
private String id;
private String name;
// On suppose que la liste est vide à la création de la Category
@DBRef
private Collection<Product> products = new ArrayList<>();
}