Java 服务中的字段存储库需要一个名为';实体管理工厂&x27;那是找不到的
如何在crud应用程序中解决此问题? 这是我的错误Java 服务中的字段存储库需要一个名为';实体管理工厂&x27;那是找不到的,java,spring,maven,jpa,crud,Java,Spring,Maven,Jpa,Crud,如何在crud应用程序中解决此问题? 这是我的错误 *************************** APPLICATION FAILED TO START *************************** Description: Field repository in com.howtodoinjava.demo.service.UtentiServiceImpl required a bean named 'entityManagerFactory' that could
***************************
APPLICATION FAILED TO START
***************************
Description:
Field repository in com.howtodoinjava.demo.service.UtentiServiceImpl required a bean named 'entityManagerFactory' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean named 'entityManagerFactory' in your configuration.
这些是我的课
RepoConfig.java
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "modelEntityManagerFactory",
transactionManagerRef = "transactionManager",
basePackages = { "com.howtodoinjava.demo" }
)
@EnableAutoConfiguration
public class RepoConfig {
@Primary
@Bean(name = "modelDataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name = "modelEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder
builder, @Qualifier("modelDataSource") DataSource dataSource) {
return builder
.dataSource(dataSource)
.packages(UtentiEntity.class)
.persistenceUnit("unipass")
.build();
}
@Primary
@Bean(name = "modelSessionFactory")
public SessionFactory sessionFactory(@Qualifier("modelDataSource") DataSource dataSource) {
LocalSessionFactoryBuilder localSessionFactoryBuilder = new
LocalSessionFactoryBuilder(dataSource);
return localSessionFactoryBuilder.buildSessionFactory();
}
@Primary
@Bean(name = "transactionManager")
public PlatformTransactionManager transactionManager(
@Qualifier("modelEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}
}
utientity.java
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(schema = "BASE", name = "TA11_UTENTI")
public class UtentiEntity {
@Id
@Column(name="cod_utente")
private String codUtente;
@Column(name="nome")
private String nome;
@Column(name="cognome")
private String cognome;
@Column(name="societa")
private String societa;
@Column(name="via")
private String via;
@Column(name="codice_postale")
private String codicePostale;
@Column(name="citta")
private String citta;
@Column(name="stato")
private String stato;
@Column(name="societa_tassa_id")
private String societaTassaId;
@Column(name="vat")
private String vat;
}
utientityrepository.java
@Repository
public interface UtentiEntityRepository extends JpaRepository<UtentiEntity, String> {
}
UtentiServiceImpl.java
@Service
public class UtentiServiceImpl implements UtentiService{
@Autowired
private UtentiEntityRepository repository;
@Override
public UtentiEntity getUtentiEntityById(String id) throws RecordNotFoundException
{
Optional<UtentiEntity> utentiEntity = repository.findById(id);
if(utentiEntity.isPresent()) {
return utentiEntity.get();
} else {
throw new RecordNotFoundException("No employee record exist for given id");
}
}
}
@服务
公共类UtentiServiceImpl实现UtentiService{
@自动连线
专用存储库;
@凌驾
public UtentiEntity getUtentiEntityById(字符串id)引发RecordNotFoundException
{
可选的utientity=repository.findById(id);
if(utientity.isPresent()){
return-utientity.get();
}否则{
抛出新的RecordNotFoundException(“给定id不存在员工记录”);
}
}
}
UtentiEntityController.java
@RestController
@RequestMapping("/utenti")
public class UtentiEntityController
{
@Autowired
UtentiServiceImpl service;
@GetMapping("/{id}")
public ResponseEntity<UtentiEntity> getUtentiEntityById(@PathVariable("id") String id)
throws RecordNotFoundException {
UtentiEntity entity = service.getUtentiEntityById(id);
return new ResponseEntity<UtentiEntity>(entity, new HttpHeaders(), HttpStatus.OK);
}
}
@RestController
@请求映射(“/utenti”)
公共类用户实体控制器
{
@自动连线
UtentiServiceImpl服务;
@GetMapping(“/{id}”)
public ResponseEntity GetUtenetiEntityById(@PathVariable(“id”)字符串id)
抛出RecordNotFoundException{
utientity entity=service.getutientitybyid(id);
返回新的ResponseEntity(实体,new-HttpHeaders(),HttpStatus.OK);
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.howtodoinjava</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.ibm.db2/jcc -->
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<version>11.1.4.4</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4.0.0
org.springframework.boot
spring启动程序父级
2.1.5.1发布
com.howtodoinjava
演示
0.0.1-快照
演示
SpringBoot的演示项目
1.8
com.ibm.db2
jcc
11.1.4.4
org.projectlombok
龙目
假如
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
弹簧启动装置
com.h2数据库
氢
运行时
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
spring引导配置处理器
真的
org.apache.maven.plugins
maven依赖插件
只需在任何配置文件中创建此bean:-)可能与spring hibernate版本兼容…Maria如果这里的配置有点混乱,最简单的方法是在这里生成整个项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.howtodoinjava</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.ibm.db2/jcc -->
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<version>11.1.4.4</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>