Spring应用开发流程
Spring Boot应用开发流程
1、配置环境 只需要安装jdk即可,不用安装tomcat
Spring Boot核心特性
- 极低的学习成本
- 可独立运行的Spring项目 (不需要打成war,放到tomcat目录下,会生成jar包,启动时既可运行,通过脚本自动启动,无论多少台服务器都能快速部署)
- 习惯优于配置,极大的提高了开发效率
- 极简的组件依赖,自动发现和自动装配。只需在maven中配置一个启动器就可以。
- 提供运行时的程序监控
- 与分布式架构和云计算的天然集成 spring-cloud
Spring Boot目录结构
通过maven创建
需要手动在resources文件夹下创建
1、static文件夹 存放静态资源 如css js 等
2、templates文件夹 页面 jsp等
3、application.properties 配置文件
之后配置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>
<groupId>com.alan</groupId>
<artifactId>SpringBootDemo1</artifactId>
<version>1.0-SNAPSHOT</version>
<!--第一步:创建基础引用-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.0.RELEASE</version>
</parent>
<!--第二步:创建依赖,不需要写版本号,在parent中已经定义好了-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--定义打包方式-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这里不需要在web.xml进行配置将dispatcherServlet 与springmvc.xml进行关联,用入口类方式实现,一般名称为工程名+Application
- spring boot入口类 直接run启动运行
package com.alan.myspringboot.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* SpringBoot应用的入口类
*/
@SpringBootApplication
public class SpringBootDemo1Application {
public static void main(String[] args) {
//启动springboot应用
SpringApplication.run(SpringBootDemo1Application.class);
}
}
- 测试类
package com.alan.myspringboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 通过spring IOC控制本类
*/
@Controller
public class MyController {
//Spring MVC 关联与/out地址绑定,返回值在页面展示
@RequestMapping("/out")
@ResponseBody
public String out(){
return "success!!!";
}
}
Spring Initializr 构建Spring Boot应用
通过idea直接创建
Spring Boot入口类与启动流程
-
入口类
1、类名通常以*Application结尾
2、入口类上增加@SpringBootApplication注解
3、利用SpringApplication.run()方法启动应用
-
application.properties 常用配置
application.properties
server.port=8889
server.servlet.context-path=/springbootdemo3
#将日志保存到文件中
logging.file=/Users/alan/test/spring.log
#日志级别debug >info > warn > error > fatal
logging.level.root = info
#设置为debug方便调试
debug=true
#配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///sm
spring.datasource.username=root
spring.datasource.password=root
第二种配置方式 application.yml ( 推荐这种配置方法)
debug: true
logging:
level:
root: info
file: /Users/alan/test/spring.log
spring:
datasource:
driver-class-name: mysql.jdbc.Driver
url: jdbc:mysql:///sm
username: root
password: root
#自定义项
mail:
config:
name: 爱美商城
description: 这是一家化妆品网站
hot-sale: 20
show-advert: true
package com.alan.springbootdemo3;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MyController {
@Value("${mall.config.name}")
private String name;
@Value("${mall.config.description}")
private String description;
@Value("${mall.config.hot-sales}")
private Integer hotSales;
@Value("${mall.config.show-advert}")
private Boolean showAdvert;
@RequestMapping("/out")
@ResponseBody
public String test(){
return "hello springboot!";
}
@RequestMapping("/info")
@ResponseBody
public String info(){
return String.format("输出:%s,%s,%s,%s",name,description,hotSales,showAdvert);
}
}
环境配置文件
- Spring Boot可针对不同的环境提供不同的Profile文件。
- Profile文件的默认命名格式为application-{env}.yml
- 使用spring.profiles.active选型来指定不同的profile
application.yml
spring:
profiles:
active: dev
之后具体配置生成和测试配置文件
application-dev.yml
application-prd.yml
打包与运行
- 利用Maven的package命令,生成可独立运行的Jar包。
- 利用java -jar xxx.jar 命令启动Spring boot 应用
- Jar包可自动加载同目录的application配置文件