SpringBoot介绍
1.什么是SpringBoot?
SpringBoot就是为了解决Spring缺点而生的,主要是简化了使用 Spring 的难度,节省了繁重的配置,开发者能够快速上手。
SpringBoot的核心功能有两个,起步依赖,自动配置,也就是他的默认配置;
起步依赖就是将具备某种功能的坐标打包到一起, 并解决了Spring的jar包冲突问题。
自动配置就是SpringBoot在底层给我们自动做了一些配置,所以springboot项目不编写配置文件也可以正常运行,但是根据我们的具体开发需要修改SpringBoot自动配置的默认值;
2.Spring Boot 优点非常多,如:
独立运行,使用java -jar xx.jar即可运行.
简化配置
自动配置
无代码生成和XML配置,通过注解来实现
内嵌服务容器.
3.SpringBoot的核心功能
核心功能:
1.1: springboot项目为独立运行的spring项目,使用java -jar xx.jar即可运行.
1.2: 内嵌servlet容器(可以选择内嵌: tomcat ,jetty等服务器.).
1.3: 提供了starter的pom 配置 简化了 maven的配置.
1.4: 自动配置spring容器中的bean.当不满足实际开发场景,可自定义bean的自动化配置.
1.5: 准生产的应用监控(基于: ssh , http , telnet 对服务器运行的项目进行监控.).
1.6: springboot无需做出xml配置,也不是通过代码生成来实现(通过条件注解.).
使用优点:
1.快速搭建项目,
2,与主流框架集成无需配置集成.
3.内嵌服务容器.
4.具有应用监控.
5.开发部署方便,后期与云计算平台集成方便(docket).
4.SpringBoot创建过程
1.创建maven过程
2.导入起步依赖
3.创建引导类
1.成为引导类:@SpringBootApplication
2.运行引导类:SpringApplication.run(引导类的字节码对象)
4.创建controller
1.在引导类的同级目录下
2.在引导类的同级的子目录下
5.Spring Boot 的配置文件有哪几种格式?它们有什么区别?
.properties 和 .yml,它们的区别主要是书写格式不同。
1).properties
app.user.name = javastack
1
2).yml
app:
user:
name: javastack
1
2
3
另外,.yml 格式不支持 @PropertySource 注解导入配置。
springboot中的核心启动主函数(main函数)的作用.用到哪些注解.注解的作用.
@SpringBootApplication
public class SpringBoot1Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot1Application.class, args);
}
}
该主函数: 主要启动springboot框架.用于加载容器和Spring等默认组件.
用到核心注解: @SpringBootApplication . 作用:用于标识声明一个springboot框架容器.
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
SpringBoot 中常用注解
1.引导类的@SpringBootApplication
2.@Controller 处理http请求
3.@RestController:
Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。现在只需要@RestContrller
4.@RequestMapping 配置url映射
5.@ConfigurationProperties(prefix=“配置文件中的 key 的前缀”)可以将配置文件中的配置自动
与实体进行映射
6.@Autowired
11.springboot的静态页放在哪里?
放在resources的static
这个是系统默认配置,如果我们并不想将资源放在系统默认的这五个位置上,也可以自定义静态资源位置和映射,自定义的方式也有两种,可以通过 application.properties 来定义,也可以在 Java 代码中来定义,下面分别来看。
12.SpringBoot入门篇–使用Thymeleaf模板引擎进行页面的渲染
编写Controller
我们来编写一个简单的Controller返回一个单间的json字符串,如下:
@Controller
@RequestMapping(value = "/hello")
public class HelloController {
@RequestMapping("/helloweb")
public String hello(ModelMap modelMap){
//向模板中添加属性
modelMap.put("hello","helloweb");
// return模板文件的名称,对应src/main/resources/templates/index.html
return "index";
}
}
此处注意的一点是,一定要使用@Controller这个注解才可以跳转到对应的模板中,如果使用上一篇中的@RestController,页面只返回index这个字符串,这个注解等同于使用@ResponseBody,大家在使用时一定要注意。
编写模板
我们在src/main/resources/templates目录下创建一个叫index.html的文件,访问变量使用th:进行访问;
在这里我们需要进行一下说明:
1>这个配置不是必须的,因为SpringBoot它自身有相关的默认配置,我们的配置会覆盖相关的默认配置
2>我们在进行页面返回的时候,页面是默认储存在resource文件下的templates文件里面的。
3>使用Thymeleaf默认页面就是HTML页面,所以这是非常方便的。
4>我们就算不配置的时候最好还是讲模板缓存进行关闭,上图已经做了相应的注释,因为这么做的目的是为了在页面进行改变的时候,我们可以很快的看到直观效果。