Spring应用开发流程
SpringBoot应用开发流程
SpringBoot的核心特新
极低的学习成本。可独立运行的Spring项目。“习惯优于配置”,极大的提高了开发效率。极简的组件依赖,自动发现与自动装配。提供运行时的应用监控。与分布式架构和云计算的天然集成。
环境准备
安装 JDK 8 以上版本
安装Intellij IDEA Ultimate (旗舰版)
SpringBoot目录结构
/src/main | 项目根目录 |
/java | Java源代码目录 |
/resources | 资源目录 |
/resources/static | 静态资源目录 |
/resources/templates | 表示层页面目录 |
/resources/application.properties | Spring Boot配置文件 |
/test | 测试文件目录 |
创建工程
新建文件夹和文件
在pom.xml中进行配置
配置parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
spring-boot-stater-parent帮我们引入了springboot的所有核心的组件,所以其他的springboot组件都要依赖于他。
配置dependency
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
配置build
<build>
<plugins>
<!--该插件的作用是将springboot打成一个独立的可以发布的jar包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
因为我使用的是MacOs,所以刚开始创建的工程,所要存放jar包的目录的格式可能 不是规范的,所以在External library中没有找到jar包,所以需要进行设置,更改存放jar包的位置。
重新设置存放jar包的位置
这是就可以在External library中找到jar包了。在程序当中也可以直接使用了。
编写controller
package com.imooc.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MyController {
@RequestMapping("/out")
@ResponseBody
public String out(){
return "success";
}
}
编写启动类
package com.imooc.springmvc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MySpringBootApplication {
public static void main(String[] args) {
//启动SpringBoot应用
SpringApplication.run(MySpringBootApplication.class);
}
}
启动应用
2019-04-22 15:07:24.381 INFO 986 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-04-22 15:07:24.386 INFO 986 --- [ main] c.i.springmvc.MySpringBootApplication : Started MySpringBootApplication in 18.943 seconds (JVM running for 25.528)
2019-04-22 15:08:54.242 INFO 986 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2019-04-22 15:08:54.243 INFO 986 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2019-04-22 15:08:54.262 INFO 986 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 19 ms
进行访问url : http://localhost:8080/out
第二种搭建spring boot应用的方式,使用spring initializr
然后下一步,直到finish
SpringBoot启动流程
spring boot常用配置
application.properties是spring boot的默认配置文件,用于修改spring boot的默认配置项。
最常用的spring boot配置项,在application.properties中进行配置
spring boot支持的两种配置文件
yaml语法
可见,使用yml格式的application文件时,代码的结构性强,不太容易混淆配置信息。可读性高,更便捷。
自定义配置项
在yml配置文件中自定义配置信息
在controller中设置对应的属性
@Value("${key_name.key1_name2}")可以取出yml配置文件中对应key所关联的value,然后注入到@Value注解下方的私有的Controller的成员变量中。
spring可以针对不同的环境提供不同的profile,profile可以理解为环境配置文件
打包与运行
application.yml是主配置文件,它起到调度的作用。通过把yml配置文件放在和使用maven打成的jar包放在同级的目录下,来更改使用配置文件,也就是说,在application.yml中进行相应的配置,来使得jar包运行是决定是读取application-dev.yml还是读取application-prd.xml,从而完成在开发环境和生产环境之间的切换。