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

在Spring Boot中创建数据源时出错

羊时铭
2023-03-14
 <?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>1.5.9.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
    </parent>
     <groupId>XXXXXXX</groupId>
  <artifactId>XXX</artifactId>
<version>1.0</version>
<packaging>war</packaging>
   <name>spring-boot-web-mvc</name>
  <description>
    Configure spring boot starter project for Web MVC as a WAR file, still 
  self executing.
 </description>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>com.mvmlabs.springboot.Application</start-class>
    <java.version>1.8</java.version>
    <main.basedir>${basedir}/../..</main.basedir>
    <m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>
 </properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
<!-- Added to allow configuration as a web MVC, built as a WAR file (still 
executable) -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
<!-- Add Apache Tiles into the mix -->
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>3.0.8</version>
    </dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-ldap</artifactId>
</dependency>
<dependency>
    <groupId>com.unboundid</groupId>
    <artifactId>unboundid-ldapsdk</artifactId>
</dependency>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.2.2.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.1.RELEASE</version>
</dependency> 
<dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>10.2.0.4</version>
    </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<!-- <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.2.Final</version>
</dependency> -->
 <!-- https://mvnrepository.com/artifact/javax.persistence/persistence-api - 
 ->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
 </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
 </build>
</project>
  {
 @Configuration
 @EntityScan("com.sears")
 @EnableTransactionManagement
 @PropertySource({"classpath:application.properties"})

  public class JpaConfiguration {

@Value("${spring.datasource.driver-class-name}") String driverClassName;
@Value("${spring.datasource.url}") String url;
@Value("${spring.datasource.username}") String username;
@Value("${spring.datasource.password}") String password;

@Bean(name = "dataSource")

public DataSource getDataSource() throws SQLException {
    System.out.println("inside data source");

    DataSource dataSource = DataSourceBuilder
            .create()
            .username(username)
            .password(password)
            .url(url)
            .driverClassName(driverClassName)
            .build();
    return dataSource;
}
@Bean(name = "sessionFactory")
public SessionFactory getSessionFactory(DataSource dataSource) {

    LocalSessionFactoryBuilder sessionBuilder = new 
 LocalSessionFactoryBuilder(dataSource);
    sessionBuilder.scanPackages("com.sears");
    return sessionBuilder.buildSessionFactory();
}
@Bean(name = "transactionManager")
public HibernateTransactionManager getTransactionManager(
        SessionFactory sessionFactory) {
    HibernateTransactionManager transactionManager = new 
 HibernateTransactionManager(
            sessionFactory);
    return transactionManager;
}   
@Bean
public DataSourceInitializer dataSourceInitializer(final DataSource 
 dataSource) {
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    return initializer;
}    

请帮我解决这个问题。抱歉,我无法格式化StackTrace。

共有1个答案

贺景铄
2023-03-14

类SortedResourcesFactoryBean在版本3.0.1.release之前一直在实现FactoryBean。3.0.2.从发行版开始,它开始扩展包含afterPropertiesSet()方法的AbstractFactoryBean类。

从以下站点更新org.springframework的maven版本

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>3.0.1.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.1.4.RELEASE</version>
</dependency>
 类似资料:
  • 我想创建一个简单的容器,其中包含一个带有初始化数据库的MySQL服务器。我的Dockerfile目前如下所示: 但是,当我通过我得到以下错误: 当我注释要创建数据库的行时(

  • 使用fromElements函数创建数据流时出错 下面是探险- 原因:java.io.IOException:无法从源反序列化元素。如果您使用的是用户定义的序列化(值和可写类型),请检查序列化函数。序列化程序是org.apache.flink.api.java.typeutils.runtime.kryo.kryoSerializer@599fcdda在org.apache.flink.strea

  • 创建数据源的基本步骤: 在工作区窗口中,点击 “新建数据源”。 输入数据源的名,然后选择所需的连接或现有的数据源。 点击“确定”。 一个选项卡将打开,让你编辑数据源。 将表或查询从连接窗格拖放到设计窗格。 将一个节点拖放到另一个节点以创建联接。 如有需要,请配置联接类型和联接字段。 【提示】创建联接后,你可以随时点击连接器上的联接图标来更改联接设置。 选择“实时”模式或“存档”模式。 点击“应用并

  • 创建数据源的基本步骤: 在工作区窗口中,点击 。 输入数据源的名,然后选择所需的连接或现有的数据源。 点击“好”。 一个选项卡将打开,让你编辑数据源。 将表或查询从连接窗格拖放到设计窗格。 将一个节点拖放到另一个节点以创建联接。 如有需要,请配置联接类型和联接字段。 【提示】创建联接后,你可以随时点击连接器上的联接图标来更改联接设置。 选择“实实时”模式或“存档”模式。 点击“应用并刷新数据”来查

  • 创建数据源的基本步骤: 在工作区窗口中,点击 “新建数据源”。 输入数据源的名,然后选择所需的连接或现有的数据源。 点击“确定”。 一个选项卡将打开,让你编辑数据源。 将表或查询从连接窗格拖放到设计窗格。 将一个节点拖放到另一个节点以创建联接。 如有需要,请配置联接类型和联接字段。 【提示】创建联接后,你可以随时点击连接器上的联接图标来更改联接设置。 选择“实时”模式或“存档”模式。 点击“应用并

  • 我正在尝试创建一个新的JavaDB。我已经将Java DB驱动程序添加到库中,但在服务下创建新数据库时,它仍然会抛出一个错误。 我下载并定义了db-derby-10.15.2.0-bin 我在这里定义了drover文件 我在这里单击了创建数据库 填了这张表 点击om后显示如下 谁来帮帮我