Spring纯注解配置连接数据库

2022-09-27 11:17:18

目录

1.创建一个资源配置文件 jdbc.properties

2. 创建一个配置数据库类 JdbcConfig

3.创建一个配置类  SpringConfig

4.创建一个测试类 SpringTest

5.执行结果


        准备工作: 先创建一个maven项目,并pom.xml文件导入相关依赖。

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.19</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.3.19</version>
        </dependency>
        <!-- 白盒测试依赖 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
        </dependency>  
        <!-- 使用日志依赖 -->   
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.3.0-alpha14</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
        </dependency>
        <!-- 数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.9</version>
        </dependency>
    </dependencies>

1.创建一个资源配置文件 jdbc.properties

        写入数据库相关配置

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/mydb
jdbc.username=root
jdbc.password=

2. 创建一个配置数据库类 JdbcConfig

        @Bean:用于当前的该定义为一个bean 对象,相当于 xml 文件中的<bean id="" class=""/></bean>配置  (id属性的值默认就是方法名称)

        @PropertySource:用于加载Properties属性配置文件,它需要指定配置文件所在的路径和文件名称

        @Value:用于将基本数据类型或String类型的值进行注入,它等价于<bean/>便签中的 value属性。 在指定值时如果值是变量,则需要使用 ${变量名称} 的方式注入,如果不使用 ${} 的话则把字符赋值给变量

@PropertySource({"classpath:jdbc.properties"})
public class JdbcConfig {

    @Value("${jdbc.driver}")
    private String driver;

    @Value("${jdbc.url}")
    private String url;

    @Value("${jdbc.username}")
    private String user;

    @Value("${jdbc.password}")
    private String password;

    @Bean
    public DataSource getDataSource(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(user);
        ds.setPassword(password);
        return ds;
    }

    @Bean
    public Connection getConnection(@Autowired DataSource ds) {
        Connection conn = null;
        try {
            conn = ds.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return conn;
    }
}

3.创建一个配置类  SpringConfig

        @Configuration: 表示当前的类是一个配置类 它就相当于spring.xml(applicationContext.xml)文件

        @ComponentScan:用于扫描指定包下的哪些类添加了@Component、@Service、@Repository、@Controller、@Autowired 等注解

        @Import: 导入别的配置类

@Configuration
@ComponentScan(basePackages = {"com.funny"})
@Import(JdbcConfig.class)
public class SpringConfig {
}

4.创建一个测试类 SpringTest

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = SpringConfig.class)
public class SpringTest {
  
    @Test
    public void test01() {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        Connection conn = context.getBean(Connection.class);
        System.out.println(conn);
    }
}

5.执行结果

  • 作者:春.生
  • 原文链接:https://blog.csdn.net/Funny54/article/details/124981827
    更新时间:2022-09-27 11:17:18