一、 创建方式
1.1 spring initializer
可以在IDE中安装springinitializer插件,选择SDK和输入URL,选择需要依赖的模块即可自动创建工程。
1.2 spring.io
登录start.spring.io网站,选择或者填入相关信息即可创建工程并下载到本地,然后在IDE中加载下载的工程。
Spring boot当前最后选择1.5.*版本,2.*版本需要依赖spring 5.0以及JDK8。
1.3 原始搭建
以前创建maven项目的web工程时,选择的框架是archetype-webapp,最后打包成war包。因为spring boot 最终是通过jar包方式运行,所以这里选择archetype-quickstart框架。
创建好框架后,在pom.xml中引入以下依赖。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.12.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
创建spring boot的启动类
@SpringBootApplication public class BimApplication { public static void main(String[] args) { SpringApplication.run(BimApplication.class, args); } }
添加控制类Controller
@Controller public class UserController { @RequestMapping("/displayUser") @ResponseBody public String displayUser() { return "tsinson"; } }
启动工程后,可以通过localhost:8080/displayUser访问。
二、工程结构解析
Spring boot常见结构目录如下:
1. 继承spring-boot-starter-parent,spring-boot-starter-parent包含基础的依赖配置。
2. 引入spring-boot-starter-web,此依赖会自动引入spring web相关的包。
3. BimApplication是程序的主函数,此函数有@SpringBootApplication注解。此注解主要有三个注解。
(1)@SpringBootConfiguration,本质是@Configuration,代表这是spring容器的主配置类。
(2)@EnableAutoConfiguration,开启自动配置,spring boot会自动将包含有@Configuration的类加载到容器中。
(3)@ComponentScan,将注解类自动加载到spring容器中。
4. 项目配置参数都放入在application.properties中
5. Js,html等静态文件都统一放入到static,templates目录中。
三、application.properties解析
1. 主要参数来源及优先级,数值越大,优先级越低。
(1)命令行参数;
(2)ServletConfig和SerletContext;
(3)操作系统环境变量;
(4)application-{profile}.properties或者YAML文件;
(5)application.properties或者YAML文件。
2. spring boot会自动从application.properties文件中加载配置信息。加载目录如下,如有参数相同,数值越大,优先级越低。
(1)工程目录下的config子目录;
(2)工程目录;
(3)resource目录下的config子目录;
(4)resource目录;
3. 本地类加载参数
(1)在application.properties文件中添加参数信息,所以参数必须以***.开头,如db.。
db.username=tsinson db.password=123456 db.url=jdbc:mysql:///test db.driverClassName=com.mysql.jdbc.Driver
(2)创建自动注入的实体类
@Component @ConfigurationProperties(prefix = "db") public class DemoDataSource { private String username; private String password; private String url; private String driverClassName; }
注意:ConfigurationProperties必须标明注入的前缀。
4. 第三方类加载
在主入口类中添加类参数注入,参考如下:
@SpringBootApplication public class DemoApplication { @Bean @ConfigurationProperties(prefix = "db") public DemoDataSource demoDataSource() { return new DemoDataSource(); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
四、启动方式
1. 以运行app方式直接启动
2. 使用spring boot插件spring-boot:run
3. 打包成jar包后,使用java –jarprojectname启动。