K.N*_*ehe 5 java spring spring-boot
这是userService类,它需要一个com.example.repository.userRepository无法找到的bean类型
package com.example.services;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.modal.User;
import com.example.repository.userRepository;
@Service
@Transactional
public class UserService {
@Autowired
private userRepository userRepository;
public UserService() {
super();
}
public UserService(userRepository userRepository)
{
this.userRepository = userRepository;
}
public void saveMyuser(User user) {
userRepository.save(user);
}
}
Run Code Online (Sandbox Code Playgroud)
错误消息显示:
考虑
'com.example.repository.userRepository'在配置中定义类型的bean .
这是存储库:
package com.example.repository;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import com.example.modal.User;
public interface userRepository extends CrudRepository<User,Integer> {
}
Run Code Online (Sandbox Code Playgroud)
这是应用程序类
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication
public class TutorialProjectApplication {
public static void main(String[] args) {
SpringApplication.run(TutorialProjectApplication.class, args);
}
Run Code Online (Sandbox Code Playgroud)
}
好像userRepositoryinterface不在spring-boot默认扫描之外,即该存储库接口的包不相同或不是类的子包@SpringBootApplication。如果是这样,则需要添加@EnableJpaRepositories("com.example.repository")主类。
更新:查看更新后的帖子后,您需要添加@EnableJpaRepositories("com.example.repository")到TutorialProjectApplication课程中