05 如何配置单数据源

2019-02-27  本文已影响0人  yust5273

1.引入对应数据库驱动 --H2
2.引入JDBC依赖--spring-boot-starter-jdbc
3.获取DataSource Bean,打印信息
4.也可以通过/acturator/beans 查看Bean



5.编写代码如下:

@Slf4j
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {

  @Autowired
  private DataSource dataSource;
  public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
  }

  @Override
  public void run(String... args) throws Exception {
      log.info("init-----------------------");
      log.info("dataSource={}",dataSource.toString());
      if (Objects.nonNull(dataSource)){
          Connection connection = dataSource.getConnection();
          log.info("connection={}",connection.toString());
          connection.close();
      }


  }
}
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.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yust</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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
            <version>1.4.198</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

6.运行


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)

2019-02-27 13:32:14.021  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : Starting DemoApplication on ZB-PF11056J with PID 6604 (C:\Users\yusongtao\Desktop\demo\target\classes started by yusongtao in C:\Users\yusongtao\Desktop\demo)
2019-02-27 13:32:14.025  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : No active profile set, falling back to default profiles: default
2019-02-27 13:32:15.457  INFO 6604 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$51d0a371] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-02-27 13:32:15.793  INFO 6604 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-02-27 13:32:15.822  INFO 6604 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-02-27 13:32:15.822  INFO 6604 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/9.0.13
2019-02-27 13:32:15.829  INFO 6604 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [D:\Java\jdk1.8.0_131\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;D:\apache-maven-3.5.0-bin\apache-maven-3.5.0\bin;D:\Java\jdk1.8.0_131\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Lenovo\Touch Fingerprint Software\;C:\Program Files (x86)\Intel\UCRT\;C:\Program Files\Intel\UCRT\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;d:\Git\cmd;C:\Program Files\nodejs\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\yusongtao\AppData\Roaming\npm;.]
2019-02-27 13:32:15.979  INFO 6604 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-02-27 13:32:15.979  INFO 6604 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1895 ms
2019-02-27 13:32:16.640  INFO 6604 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-02-27 13:32:16.986  INFO 6604 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
2019-02-27 13:32:17.058  INFO 6604 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-02-27 13:32:17.062  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : Started DemoApplication in 3.515 seconds (JVM running for 4.37)
2019-02-27 13:32:17.074  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : init-----------------------
2019-02-27 13:32:17.074  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : dataSource=HikariDataSource (null)
2019-02-27 13:32:17.075  INFO 6604 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-02-27 13:32:17.184  INFO 6604 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2019-02-27 13:32:17.189  INFO 6604 --- [           main] com.yust.demo.DemoApplication            : connection=HikariProxyConnection@11526042 wrapping conn0: url=jdbc:h2:mem:testdb user=SA
2019-02-27 13:32:17.474  INFO 6604 --- [on(4)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-02-27 13:32:17.474  INFO 6604 --- [on(4)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-02-27 13:32:17.485  INFO 6604 --- [on(4)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 11 ms

7.这个时候我们的h2数据库就连接好了。
通过日志也可以看到,数据源为HikariDataSource 。

8.控制台访问该bean
可以找到spring环境中所有的bean,包括刚才的DataSource的bean.等
http://localhost:8080/actuator/beans

连接失效的解决方法:https://blog.csdn.net/sayyy/article/details/80843805

上一篇 下一篇

猜你喜欢

热点阅读