重点:
1、什么是Spring Boot?
2、SpringBoot的特性
3、使用Idea配置Spring Boot项目
4、application.properties文件介绍
重点解析:
1、什么是Spring Boot
Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。
同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑
注1:敏捷式开发
注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
就像maven整合了所有的jar包,spring boot整合了所有的框架
2.SpringBoot的特性:
(1)为基于 Spring 的开发提供更快的入门体验
(2)开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。
(3)提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
(4)Spring Boot 并不是不对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。
3、如何在IDER配置SpringBoot
第一步:新增一个maven文件,出现这个界面选择好SDK版本,就直接点击Nent(注意:新建springboot的时候网卡的时候会打不开第二步窗口,这是网速问题。)
第二步:在Group里面写上你的文件名,在Artifact写上你的项目名称。(注意:项目名必须小写)然后点击Nert。
第三步:在core里面选中Lombok,在web里面选择wbe。这个选择的是在创建这个项目的时候就会加入你选择的文件的jar包和依赖。
第四步:出现这个界面就直接点击Finish就ok了,项目就创建完了。
点击Finish之后等待3-5分钟 等他加载jar包和依赖
下载好依赖之后的项目整体是下图这样子的:
java源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
src/main/java:主程序入口 Application,可以通过直接运行该类来启动Spring Boot应用
src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 static目录与templates目录,前者用于存放静态资源,如图片、CSS、JavaScript等;后者用于存放Web页面的模板文件。
src/test:单元测试目录,生成的 ApplicationTests 通过 JUnit4实现,可以直接用运行 Spring Boot应用的测试。
application.properties/application.yml 用于存放程序的各种依赖模块的配置信息,比如 服务端口,数据库连接配置等。。。
文件夹的坑是:必须放在springboot01的子模块里面 不然啥也没有。
必须放在springboot01的子模块里面 不然啥也没有
启动成功之后的界面,8081是小编自己修改端口号:
4、application.properties文件介绍
内置属性
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
Java代码
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello springboot";
}
}
自定义属性
Application.properties中配置
mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
mysql.username=mybatis_ssm
mysql.password=xiaoli
controler对应的Java代码
@Value("${mysql.driver}")
private String driver;
@Value("${mysql.url}")
private String url;
@Value("${mysql.username}")
private String username;
@Value("${mysql.password}")
private String password;
@RequestMapping("/mysql1")
public String mysql1(){
return this.driver+"</br>"+this.url+"</br>"+this.username+"</br>"+this.password+"</br>";
}
浏览器结果:
属性封装类
定义属性封装类,效果图
点击右上角,添加pom依赖,解决报红问题(注意不用有空格)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
添加controler层的Java代码进行测试
@Resource
private MysqlEntity mysqlEntity;
@RequestMapping("/mysql2")
public MysqlEntity mysql2(){
return this.mysqlEntity;
}
测试效果图: