SpringBoot各种细节集合

1.springboot的基本概述

**什么是springboot?** 
	springboot就是spring的一个增强和封装
**什么是微服务?**
	是一种基本的架构,用spring技术来实现的
**springboot的优点?**
	容易上手,提供了一系列的大型项目和通用的非业务性功能
	没有代码生成,也不需要xml配置,可以避免大量的maven导入和各版本冲突
	也没有单独的web服务器需求

2.如何编写一个springboot程序

	 引入依赖  parent  web
	 定义配置文件  application.yml  application.properties
	 编写启动类,通常使用mian方法启动

3. 注意哪些细节?

	1.feign调用时,方法参数的@RequestParam里面必须要有value值
	2.feign调用时,方法的@RequestMapping里面必须指定method,而且只能指定一个调用方式
	3.如果方法的返回值是对象,对象必须要有无参构造函数
 **@SpringBootApplication注解的作用**
	它是一个核心注解,它包含的三个注解分别是
		SpringBootConfiguration: 实现配置文件的功能
		EnableAutoConfiguration: 打开配置功能
		ConponentScan: Spring组件扫描
 **springboot自动配置原理**
	使用注解EnableAutoConfiguration给容器导入了META-INF/spring.factories里面定义了自动
	配置的类,每一个自动配置类都结合了对应的Properties.java读取配置文件进行自动配置功能
 **为什么要定义parent依赖??**
	这个依赖可以用也可以不用
	这个依赖中定义了java编译版本为1.8,使用了UTF-8格式编码,也执行了打包操作的配置,自动化
	资源过滤等等...
	这个依赖还继承了spring-boot-dependencies,这里面定义了版本,也正因为这个依赖我们在写的
	时候不需要写版本号了
 **为什么定义web依赖??**
	为了方便,我们都知道web项目在启动时需要部署到服务器上,然后启动web服务器真正运行到我们
	的系统,而springBoot搭建的系统却是可以直接使用mian方法运行,这样大大节省了开发时间提高
	我们的开发效率

4.掌握.yml配置文件的语法格式

	key: value 属性和属性之间要有换行并缩进
 不同数据在yml文件里面的定义格式? 
	对象
	user:
		name: zhangsan
		age: 23
	list(set 数组) 
		list:
			- a
			- b
		也可以
			list: [a,b,c]
		map
			map: {k1: k1,v2: v2}

5.核心注解?

@ConfigurationProperties
	绑定属性注入	
@PropertySource 
	导入局部的配置文件.properties
@ImportResource 
	识别XML配置文件,用XML的方式管理bean
	在springboot中默认是不识别xml,所以我们使用java配置类的方式来管理bean
@Configuration
	定义配置类,被注解的类内部包含一个或多个被bean注解打的方法,这些方法将会被进行扫描,并用于构建
	bean定义,初始化spring容器

6.springboot整合第三方技术

 **6.1 整合日志 AOP**
	导入Aop的依赖spring-boot-starter-aop
	定义一个目标类
	定义一个切面类   用注解@Asoect  @Comonent  交给spring容器管理
	在切面类里面定义一个切点
 **6.2 整合thymeleaf模板引擎**
      在pom.xml文件引入thymeleaf
	  在application.properties(application.yml)文件中配置thymeleaf
	  新建编辑模板文件,在resources文件夹下的templates目录,用于存放HTML等模板文件
	  使用Thymeleaf模板引擎时,必须在html文件上方添加<html lang="en" xmlns:th="http://www.thymeleaf.org"> 代码使用支持Thymeleaf。
 **6.3 整合springmvc,扩展SpringMVC的功能?**
		在之前的springboot中编写一个配置类(@Configuration),
		是WebMvcConfigurerAdapter类型进行扩展配置SpringMvc中的自定义属性配置,
		展SpringMvc的属性就可以实现WebMvcConfigurer接口。实现对应的方法就可以了。
    **springboot默认静态资源的映射规则?**
		如果我们没有自定义静态文件夹时,就会默认在classpath:/META-INF/resources中找
		如果定义了自定义文件夹时就会默认就会失效
    **如何定义拦截器并注册拦截器?**
		贴上@Configuration定义配置类,实现WebMvcConfigurer接口
		@Bean配合@Configuration使用,将拦截器交给spring管理
    **如何自定义视图?**
		定义一个配置类(记得加注解@Configuration),实现WebMvcConfigurer接口
		使用addViewControllers方法即可
    **如何进行异常处理?**
		先定义一个基类 BusinessException,使用@ControllerAdvice注解声明的表示统一异常处理
		@ExceptionHandler(value = Exception.class)这个注解写在方法上表示,该方法处理哪个异常.
		也就是说这个异常处理类中,可以获取所有的异常都拿excepion来接收,也可以明确指定哪个异常,
		跟上下顺序无关,有明确指定的异常会找明确指定的,没有就找父类.
 **6.4 springboot整合mybatis**
	添加相关的两个dao层依赖mysql的connector和mybatis的starter
	在启动类上加上@SpringBootApplication注解,那些Controller啊,@Service啊还有MyBatis的注解@Mapper什么的都可以被扫描到了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aspoil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值