zoukankan      html  css  js  c++  java
  • SpringBoot入门二(java代码方式配置)

    java代码方式配置(读取配置文件中的变量)

    一 . 先了解几个相关注解

    java配置主要靠java类和一些注解,比较常用的注解有:

    @Configuration:声明一个类作为配置类,代替xml文件
    @Bean:声明在方法上,将方法的返回值加入Bean容器,代替<bean>标签
    @Value:属性注入
    @PropertySource:指定外部属性文件

    二. 实战~

    目的:比如可以把xml里面的数据库配置信息,用java代码方式配置

    实现步骤:

    1.添加依赖(添加Alibaba的druid数据库连接)

    2.创建数据库

    3.创建数据库连接参数的配置文件jdbc.properties

    4.创建编写配置类

    5.控制器 注入数据源并使用

    =================

    1.添加依赖pom.xml(添加Alibaba的druid数据库连接)

    <?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>
    
        <!--SpringBoot父工程-->
        <parent>
            <artifactId>spring-boot-starter-parent</artifactId>
            <groupId>org.springframework.boot</groupId>
            <version>2.3.4.RELEASE</version>
        </parent>
    
        <groupId>org.cc8w</groupId>
        <artifactId>javaboot_test</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <!--java编译版本,父工程已经指定了这样的变量-->
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <!--SpringBoot Web启动器(不用写版本跟随父版本)-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.20</version>
            </dependency>
    
        </dependencies>
    
    </project>

    2.创建数据库(略)

    3.创建数据库连接参数的配置文件jdbc.properties

    jdbc.driverClassName=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/mini_card
    jdbc.username=root
    jdbc.password=89757

    4.创建编写配置类

    package com.cc8w.config;
    
    import com.alibaba.druid.pool.DruidDataSource;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    import javax.sql.DataSource;
    
    @Configuration
    @PropertySource("classpath:jdbc.properties")
    public class JdbcConfig {
    
        @Value("${jdbc.driverClassName}")
        private String driverClassName;
        @Value("${jdbc.url}")
        private String url;
        @Value("${jdbc.username}")
        private String username;
        @Value("${jdbc.password}")
        private String password;
    
        @Bean
        public DataSource dataSource(){
            DruidDataSource dataSource = new DruidDataSource();
            dataSource.setDriverClassName(driverClassName);
            dataSource.setUrl(url);
            dataSource.setUsername(username);
            dataSource.setPassword(password);
            return dataSource;
        }
    
    }

    5.控制器 注入数据源并使用

    package com.cc8w.home.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.sql.DataSource;
    
    @RestController
    @RequestMapping("home/test")
    public class JdbcTest {
    
        @Autowired
        private DataSource dataSource;
    
        @RequestMapping("jtest")
        public String jTest(){
    
            System.out.println(dataSource);
            System.out.println("jTest22");
            return "null";
        }
    
    
    }

    6.项目接口

    数据库连接结果也被打印到控制台了.

  • 相关阅读:
    快速清除Word文档多余空行
    使用快照隔离
    hive 常用运算
    shell_Day02
    Study python_01
    Study python_02
    Windows server 2016 域服务1之创建域
    Study python_04
    shell_Day01
    Study python_03
  • 原文地址:https://www.cnblogs.com/fps2tao/p/13815927.html
Copyright © 2011-2022 走看看