Spring boot quick start

在maven的pom文件中:

<?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">
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.0.RELEASE</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.jiaobuchong</groupId>
    <artifactId>spring-boot-jdbc</artifactId>
    <version>1.0-SNAPSHOT</version> 

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
       <!-- 加上这个表示这个应用是一个console的应用 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</project>

配置mysql, application.yml:

spring:
  datasource:
    url: jdbc:mysql://localhost/guestbook
    username: root
    password: jiaobuchong
    driverClassName: com.mysql.jdbc.Driver

启动应用,Application.java:

package com.jiaobuchong;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;


/**
 * Created by jiaobuchong on 1/9/16.
 */
@SpringBootApplication
public class Application implements CommandLineRunner {
    private static final Logger logger = LoggerFactory.getLogger(Application.class);
     @Autowired   //将JdbcTemplate注入进来
    JdbcTemplate jdbcTemplate;

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(String... strings) throws Exception{
        logger.info("Creating tables");
        jdbcTemplate.execute("DROP TABLE IF EXISTS customers");
        jdbcTemplate.execute("CREATE TABLE customers(" +
                "id INT unsigned auto_increment PRIMARY KEY , firstName CHAR(20), lastName CHAR(20))");
        // split up the array of whole names into an array of first/last names
        List<Object[]> splitUpNames = Arrays.asList("Jack Chou", "Chrs han", "jiaobuchong chou", "sssb you").stream()
                .map(name -> name.split(" "))
                .collect(Collectors.toList());
        //Use a java8 stream to print out each tuple of the list
        splitUpNames.forEach(name -> logger.info(String.format("Inserting customer record for %s %s", name[0], name[1])));

        //Uses JdbcTemplate's batchUpdate operation to bulk load data
        jdbcTemplate.batchUpdate("INSERT INTO customers(firstName, lastName) VALUES(?, ?)", splitUpNames);

        logger.info("Querying for customer records where first_name = 'Jack':");
        jdbcTemplate.query(
                "SELECT id, firstName, lastName FROM customers WHERE firstName = ?", new Object[] {"Jack"},
                (rs, rowNum) -> new Customer(rs.getLong("id"), rs.getString("firstName"), rs.getString("lastName"))
        ).forEach(customer -> logger.info(customer.toString()));           
        /*当执行Application.java的main方法时,执行run方法里的内容*/
    }
}

next,运行main方法,everything goes well. 运行结果:

/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -Didea.launcher.port=7533 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 15.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/lib/tools.jar:/Users/zhoujie/mycode/spring-demo/spring-boot/spring-boot-jdbc/target/classes:/Users/zhoujie/maven_library/library/org/springframework/boot/spring-boot-starter/1.3.0.RELEASE/spring-boot-starter-1.3.0.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/boot/spring-boot/1.3.0.RELEASE/spring-boot-1.3.0.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-context/4.2.3.RELEASE/spring-context-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-aop/4.2.3.RELEASE/spring-aop-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-expression/4.2.3.RELEASE/spring-expression-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/boot/spring-boot-autoconfigure/1.3.0.RELEASE/spring-boot-autoconfigure-1.3.0.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/boot/spring-boot-starter-logging/1.3.0.RELEASE/spring-boot-starter-logging-1.3.0.RELEASE.jar:/Users/zhoujie/maven_library/library/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar:/Users/zhoujie/maven_library/library/ch/qos/logback/logback-core/1.1.3/logback-core-1.1.3.jar:/Users/zhoujie/maven_library/library/org/slf4j/slf4j-api/1.7.13/slf4j-api-1.7.13.jar:/Users/zhoujie/maven_library/library/org/slf4j/jcl-over-slf4j/1.7.13/jcl-over-slf4j-1.7.13.jar:/Users/zhoujie/maven_library/library/org/slf4j/jul-to-slf4j/1.7.13/jul-to-slf4j-1.7.13.jar:/Users/zhoujie/maven_library/library/org/slf4j/log4j-over-slf4j/1.7.13/log4j-over-slf4j-1.7.13.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-core/4.2.3.RELEASE/spring-core-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/yaml/snakeyaml/1.16/snakeyaml-1.16.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-jdbc/4.2.3.RELEASE/spring-jdbc-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-beans/4.2.3.RELEASE/spring-beans-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/spring-tx/4.2.3.RELEASE/spring-tx-4.2.3.RELEASE.jar:/Users/zhoujie/maven_library/library/org/springframework/boot/spring-boot-starter-jdbc/1.3.0.RELEASE/spring-boot-starter-jdbc-1.3.0.RELEASE.jar:/Users/zhoujie/maven_library/library/org/apache/tomcat/tomcat-jdbc/8.0.28/tomcat-jdbc-8.0.28.jar:/Users/zhoujie/maven_library/library/org/apache/tomcat/tomcat-juli/8.0.28/tomcat-juli-8.0.28.jar:/Users/zhoujie/maven_library/library/mysql/mysql-connector-java/5.1.37/mysql-connector-java-5.1.37.jar:/Applications/IntelliJ IDEA 15.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain com.jiaobuchong.Application --spring.output.ansi.enabled=always

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

2016-01-10 11:51:16.356 [main] INFO  com.jiaobuchong.Application - Starting Application on zhoujies-MBP.lan with PID 15272 (/Users/zhoujie/mycode/spring-demo/spring-boot/spring-boot-jdbc/target/classes started by zhoujie in /Users/zhoujie/mycode/spring-demo/spring-boot)
2016-01-10 11:51:16.363 [main] INFO  com.jiaobuchong.Application - No profiles are active
2016-01-10 11:51:16.470 [main] INFO  o.s.c.a.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@35047d03: startup date [Sun Jan 10 11:51:16 CST 2016]; root of context hierarchy
2016-01-10 11:51:19.282 [main] INFO  o.s.jmx.export.annotation.AnnotationMBeanExporter - Registering beans for JMX exposure on startup
2016-01-10 11:51:19.293 [main] INFO  com.jiaobuchong.Application - Creating tables
2016-01-10 11:51:19.908 [main] INFO  com.jiaobuchong.Application - Inserting customer record for Jack Chou
2016-01-10 11:51:19.908 [main] INFO  com.jiaobuchong.Application - Inserting customer record for Chrs han
2016-01-10 11:51:19.908 [main] INFO  com.jiaobuchong.Application - Inserting customer record for jiaobuchong chou
2016-01-10 11:51:19.908 [main] INFO  com.jiaobuchong.Application - Inserting customer record for sssb you
2016-01-10 11:51:19.959 [main] INFO  com.jiaobuchong.Application - Querying for customer records where first_name = 'Jack':
2016-01-10 11:51:19.967 [main] INFO  com.jiaobuchong.Application - Customer{id=1, firstName='Jack', lastName='Chou'}
2016-01-10 11:51:19.969 [main] INFO  com.jiaobuchong.Application - Started Application in 5.05 seconds (JVM running for 6.095)
2016-01-10 11:51:19.969 [Thread-1] INFO  o.s.c.a.AnnotationConfigApplicationContext - Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@35047d03: startup date [Sun Jan 10 11:51:16 CST 2016]; root of context hierarchy
2016-01-10 11:51:19.971 [Thread-1] INFO  o.s.jmx.export.annotation.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值