一、SpringBoot概述
Spring Boot是一个便捷搭建基于spring工程的脚手架,作用是帮助开发人员快速搭建大型spring项目,简化工程的配置、依赖管理,实现开发人员把时间都集中在业务开发上。
特点:
- 创建独立的Spring应用,为所有Spring的开发者提供一个非常快速的、广泛接受的入门体验
- 直接嵌入应用服务器,如tomcat、jetty等,不需要去部署war包
- 提供固定的启动器依赖去简化组件的配置,实现开箱即用(启动器其实就是springboot提供的一个jar包),通过自己设置参数(.properties或.yml配置文件),即可快速使用
- 自动配置spring和其他有需要的第三方依赖
- 提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标、健康监测、外部化配置等
- 绝对没有代码生成,也无需XML配置
二、快速入门
实现步骤:
- 创建Maven工程
- pom文件中设置父工程和启动器
- 编写启动引导类
- 编写controller
- 测试
pom.xml配置:
<!--指定父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
</parent>
<groupId>com.it</groupId>
<artifactId>spring_boot</artifactId>
<version>1.0-SNAPSHOT</version>
<!--指定jdk版本-->
<properties>
<java.version>1.8</java.version>
</properties>
<!--导入web启动器-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
</dependencies>
启动引导类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Springboot项目都有一个启动引导类,是工程的入口
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
controller代码:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class ApplicationController {
@GetMapping("/heihei")
public String hello(){
return "hello!!!";
}
}
测试:
访问地址 localhost:8080/hello/heihei,访问结果:
三、java代码配置应用
1、相关注解
@configuration:声明这是一个配置类,代替XML文件
@PropertySource:指定外部文件
@Value:属性注入
@Bean:声明在方法上,表明将方法的返回值注入容器,代替bean标签
2、实现步骤
①、添加依赖
②、创建数据库环境和jdbc.properties配置文件
③、编写配置类
④、在controller中注入datasource测试
pom依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.14</version>
</dependency>
jdbc.properties配置文件:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/health
jdbc.username=root
jdbc.password=root
启动引导类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Springboot项目都有一个启动引导类,是工程的入口
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
jdbc配置类:
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 JdbcProperties {
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.url}")
String url;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
@Bean
public DataSource