я новичок в Springboot. Я пытаюсь работать со своими данными с помощью JPA. Я столкнулся с этой проблемой. ПРИЛОЖЕНИЕ НЕ ЗАПУСТИЛОСЬ
Описание:
Параметр 0 конструктора в com.example.service.MemberService требовал bean-компонента типа com.example.repository.MemberRepository, который не удалось найти.
Действие:
Рассмотрите возможность определения bean-компонента типа com.example.repository.MemberRepository в вашей конфигурации.
это моя структура проекта: введите сюда описание изображения
MemberService.java
@Service
public class MemberService {
private final MemberRepository memberRepository;
@Autowired
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
public List<Member> getAllMembers() {
return memberRepository.findAll();
}
}
MemberController.java
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("/members")
public String getAllMembers(Model model) {
List<Member> members = memberService.getAllMembers();
model.addAttribute("members", members);
return "members";
}
}
MemberRepository.java
@Repository
public interface MemberRepository extends JpaRepository<Member, Long> {
}
Member.java
@Entity
public class Member {
private Long id;
private String name;
private String kana;
private LocalDate birthDate;
private String birthPlace;
private String ki;
private String link;
public void setId(Long id) {
this.id = id;
}
@Id
public Long getId() {
return id;
}
// Getter and Setter methods
}
Основной метод
@SpringBootApplication
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
String serverPort = context.getEnvironment().getProperty("server.port");
String contextPath = context.getEnvironment().getProperty("server.servlet.context-path", "");
System.out.println("Application is running at: http://localhost:" + serverPort + contextPath);
}
}
Я, как и я, проверяю некоторые вопросы о stackoverflow, но не нахожу правильного метода решения. Я буду благодарен, если вы дадите мне правильное решение и расскажете, как мне изменить свой код. спасибо за ответ, мне действительно нужна ваша помощь.
@М. Динум, спасибо за ответ! На самом деле моя версия учебника — 2, но более точного решения я до сих пор не понимаю... извините... Можете ли вы сказать мне более точное решение этой проблемы? Спасибо!
Если есть проблемы с учебным пособием, которому вы следуете, вам следует связаться с ними для дальнейшего расследования, чтобы они могли исправить свою ошибочную чушь. В противном случае, пожалуйста, скачайте актуальное руководство, которое правильно работает с текущей цепочкой зависимостей. Исправление старых и дрянных руководств — это не то, для чего создается SO.
Я не уверен, что добавление комментариев позволяет вам их увидеть, но я решил эту проблему. Это проблема полной несовместимости версий. На самом деле persistence-api старый и несовместим с Springboot3, а моя версия Hibernate старая... но я так считаю много времени, чтобы получить это.... на самом деле важно заметить, что информация консоли отладки важна. Спасибо, теперь я перехожу на 3 и снова создаю свой проект. @М. Deinum, но, возможно, это наводит меня на мысль, что мне следует подумать, неверна ли версия, когда я столкнусь со знакомой проблемой.
Если вы следуете руководству, следуйте инструкциям. В том числе версии используемого программного обеспечения. Если они используют версию 2.6 или 2.7.x, оставайтесь в этой версии и следуйте инструкциям. Не обновляйтесь до более новых версий, так как это сделает руководство бесполезным, поскольку в разных версиях все меняется, и если вы перейдете на Spring Boot 3, это будет серьезным изменением при переходе с JavaEE на JakartaEE.




проблема с персистентностью API:
Ошибка Spring Boot с репозиторием/объектом «не управляемого типа»
и создадим новый проект: https://start.spring.io/
и проверьте, совместима ли версия зависимости.
тогда, возможно, в следующий раз у меня возникнет проблема, я должен предоставить pom.xml, конкретно импорт пакета и файл конфигурации, который будет лучше...
Позвольте мне угадать, «следуя» руководству, вы решили, что вам нужен Spring Boot 3, учебник предназначен для Spring Boot 2. Вы копируете вставленные классы и «исправляете» ошибки компилятора, добавляя дополнительные зависимости к вашему приложению. Зависимости, такие как e
persistence-apiили старые версии Hibernate.