当前位置: 首页 > 知识库问答 >
问题:

Spring Boot未自动连接@Repository

戚逸清
2023-03-14
package com.mycompany.myapp;
@ComponentScan(basePackageClasses = {com.mycompany.myapp.domain.user.User.class,
                                     com.mycompany.myapp.repository.UserRepository.class,
                                     com.mycompany.myapp.service.AuthenticationServiceImpl.class})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
package com.mycompany.myapp.domain.user
@Entity
public class User {

    @Id
    @GeneratedValue
    private long id;
    @Column(nullable = false)
    private String name;
    @Column(nullable = false)
    private String lastName;
    @Column(nullable = false)
    private String password;
    @Column(nullable = false)
    private String email;

    public User() {}

    public User(String email, String password){
        this.email = email;
        this.password = password;
    }
}
package com.mycompany.myapp.repository;
public interface UserRepository extends CrudRepository<User, Long> {

    List<User> findByLastName(String lastName);
}
package com.mycompany.myapp.service;
@RestController
public class AuthenticationServiceImpl implements AuthenticationService {

    @Autowired
    private UserRepository userRepository;

    @RequestMapping("/add")
    public User add(){
        User user = new User();
        user.setName("Juan");
        user.setLastName("Sarpe");
        user.setEmail("email@gmail.com");
        userRepository.save(user);
        return user;
    }
}
spring.datasource.url:jdbc:mysql://localhost:3306/mydb
spring.datasource.username=user
spring.datasource.password=pass
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update

共有1个答案

李敏学
2023-03-14

在spring boot的main类中,您必须使用以下注释:

@SpringBootApplication
@ComponentScan(basePackages = "basepackage")
@EntityScan(basePackages ="basepackage")
@EnableAutoConfiguration
@EnableJpaRepositories(basePackages = "basepackage")

在存储库层使用以下注释:

导入org.springframework.stereotype.repository;

@Transactional
@Repositor
import org.springframework.stereotype.Service;

@Service
 类似资料:
  • 在Spring Boot应用程序中,我尝试设置多个数据库连接。我已经开始构建主数据源,但是在mySqlEntityManagerFactory方法上出现以下错误。 无法自动连线。没有EntityManagerFactoryBuilder的bean 如何自动连接EntityManagerFactoryBuilder? 我正试图遵循这个博客上的代码https://raymondhlee.wordpre

  • 出于某种原因,我使用外部属性源,其中一个外部属性源没有自动连接,在创建身份验证bean时接收空指针 原因: org.springframework.beans.BeanInstantiationException: Failed to instanceiate [com.filechecker.check.Authenticator]: Constructor threw exception;ne

  • 我正在使用以下方面拦截对某个类的getDescription方法的调用。 对于上述方面,我得到以下输出: 在我的应用程序上下文中。xml,我有: 在我的方面,为什么spring没有自动连接httpservletrequest。根据这个答案:自动连线HttpServletRequestbean的Spring AOP和aspect线程安全 它应该工作。 编辑 我的web.xml如下: 我正在appli

  • 代码如下: 我从文件中了解到: 如果您使用的是@SpringBootTest注释,则TestRestTemplate是自动可用的,并且可以@AutoWired到您的测试中。 问题是我确实使用了SpringBootTest注释,但当我运行测试时,TestRestTemplate总是为空。也许我错过了什么。 编辑:我在添加@RunWith(SpringRunner.class)注释时遇到了完全相同的问

  • 我创建了自己的库(com.custom.mylib),它返回一个字符串,如下所示。 我创建了一个将使用上述库的项目。我已将lib作为pom依赖项包含在内。但是当我尝试从我的应用程序调用库方法时。我得到了下面的错误。如何解决它? 请考虑在您的配置中定义一个“com.custom.mylog.MyLibrary”类型的bean。 我在application.properties文件中也有下面的内容,这

  • USB自动连接 使用USB连接线连接外接装置与已开启电源的PSP™后,PSP™会自动更换为USB模式。 关 不自动更换为USB模式。 开 自动更换为USB模式。 提示 正使用游戏等部份机能时,即使连接USB连接线,亦不会自动更换为USB模式。