没有定义[javax.sql.DataSource]类型的合格bean
这是我的pom没有定义[javax.sql.DataSource]类型的合格bean,java,spring,spring-boot,Java,Spring,Spring Boot,这是我的pom <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.0.1.RELEASE</version> </parent> <depe
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.0.1.RELEASE</version>
</parent>
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</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-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Spring Boot Maven -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这是我的应用程序。属性
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
}
#server.contextPath=/SpringBootExamples
server.port=8888
logging.file=F:/new-spring-boot/Test-Spring-Boot.log
# spring security configuration
security.user.name=admin
security.user.password=admin1
management.security.role=SUPERUSER
spring.data.jpa.repositories.enabled=true
spring.datasource.url= jdbc:mysql://localhost:3306/springbootdb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create-drop
这是我的UserServiceImpl
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserRepository userRepo;
@Override
@Transactional
public void saveUser(MyUserEntity user) {
userRepo.save(user);
//testTransaction();
}
}
**这是我的用户存储库**
@Repository
public interface UserRepository extends CrudRepository<MyUserEntity, Long>{
}
我升级到
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
org.springframework.boot
spring启动程序父级
1.3.3.1发布
它工作得很好但它真的很奇怪,因为它使用的是
1.0.1版。
也是在一小时前。我使用的是1.3.6版,然后又改回了1.3.3版。它对我有效您正在使用示例-spring-boot-rest-1.0-SNAPSHOT.war
,其中声明了userserviceinpl
bean。这个bean使用的是EntitiyManager
bean,而后者又使用DataSource
bean。但是没有定义DataSource
bean。我没有在应用程序中显式使用EntityManager。请参阅我更新的postYou初学者版本已相当过时1.0.1。发布版
。我有奇怪的行为,然后我的一个spring依赖项来自不同的版本。你能更新到最新的spring boot 1.3.3
吗?@Emily你不能,但是Repository可以:创建名为“userRepository”的bean时出错<代码>数据源
bean是必需的。@KenBekov那么我需要做什么呢?这很常见。有很多伟大的东西与春季开机,但所有的汽车神奇的东西,使它真的很脆弱。对配置或注释进行最小的更改可能会导致其全部崩溃。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>