Spring boot
是一个脚手架,构建于 Spring 框架 (Framework) 根底之上,基于疾速构建理念,提供了主动配置性能,可实现其开箱即用个性(创立完一个根本的我的项目当前,可零配置或者大量配置即可运行咱们的我的项目),其外围次要有如下几个方面:
▪ 起步依赖(Starter Dependency)- 我的项目创立时底层帮你关联依赖。
▪ 主动配置(Auto Configuration)。
▪ 健康检查(Actator)- 监控。
…………………………………………………………………………………………………………………………………………………………
@SpringBootApplication
此注解形容此类是启动类
@Component
注解的作用就是标记, 示意将此类标记为 Spring 容器中的一个 Bean。是 Spring 中用于形容 Bean 类的一个注解。用于通知 Spring 这个类的实例由 Spring 创立,当此对象由 Spring 创立和治理时,默认会将对象存储到池(Bean 池)中。
@Service
是一个非凡的 @Component 是一个业务层对象,后续会在此对象中执行 外围业务、扩大业务
@Mapper
该注解是用于数据层 用于通知 Spring 框架此接口的实现由 mybatis 创立,并将其实现类对象存储到 spring 容器
@SpringBootTest// 此注解形容此类是 SpringBoot 工程中的单元测试类 示意这个测试类交给 spring 去治理
@Autowired
此注解通知 spring 框架运行时为此属性注入一个值 能够:形容属性 set 办法(通常配合无参构造方法应用)构造方法(能够省略)
@Qualifier(“cd”)
通知 spring 为咱们注入的是容器中的 cd 这个 bean 对象 要和 @Autowired 一起配合应用 前提是 bean 池中有多个 bean 能够:形容属性 set 办法 切记不能够写在构造方法下面 须要写在构造方法的参数里
@Lazy
此注解的作用是提早加载,通知 spring 框架,用的时候再创立实例
@Scope(“prototype”)
每次从 spring 容器中去对象时,都会创立多实例
@Scope(“singleton”)
该注解默认就是单例作用(这个类的实例在一个 spring 容器中默认只有一份)
@PostConstruct
该注解形容的办法会在对象构建当前执行,用于执行一些初始化操作
@PreDestroy
该注解形容的是在单例队象销毁之前会执行此办法,spring 容器在销毁之前会先将容器(Bean 池)中的对象进行移除,在移除对象时,如果对象中定义了生命周期销毁办法,此时还会调用生命周期销毁办法
@Controller
用于标记在一个类上,应用它标记的类就是一个 SpringMVC Controller 对象。散发处理器将会扫描应用了该注解的类的办法。艰深来说,被 Controller 标记的类就是一个控制器,这个类中的办法,就是相应的动作。
@ControllerAdvice
标记该类是全局异样解决类
@ExceptionHandler(RuntimeException.class)
标记该办法是一个异样解决办法
@RequestMapping
是一个用来解决申请地址映射的注解,可用于类或办法上。用于类上,示意类中的所有响应申请的办法都是以该地址作为父门路。
@PropertySource(“classpath:/*“)
是加载指定的配置文件
@Accessors(chain = true)
链式加载 eg:能够这样为属性赋值 user.setId(10).setName(“AAA”);
@GetMapping(“/page/{moduleName}”)
等同于 @RequestMapping(value = “/page/{moduleName}”,method = RequestMethod.GET)
……………………………………………………………………………………………………………………………………………………………
配置文件中
敞开 Banner 显示:
spring.main.banner-mode=off
JVM 参数 - 最小堆:
-Xms5m 最大堆:-Xmx5m
跟踪运行配置:
Arguments 参数 VM arguments 参数: -XX:+TraceClassLoading
任何一个我的项目都有一个启动入口,在 springboot 中的启动类须要 @SpringBootApplication 注解进行形容,并且在类中定义一个 main 办法,main 办法在运行时会读取配置文件,并加载指定资源,而后进行初始化操作
同时须要留神的是类(测试类)要写在启动类(启动测试类)所在的包或子包下
1)SpringBoot 我的项目中配置文件起源?
a)SpringBoot 官网定义(个别为一些根底配置)例如 spring.factories
b) 第三方定义 (日志零碎 -log4j、xml……)
c) 咱们本人定义
2)SpringBoot 我的项目中的资源加载?(资源能够了解为咱们的 class 类)- 把资源从磁盘读取到内存
a)JDK 类文件
b)Spring 类文件
c) 本人定义的类文件
3)Spring 中的我的项目资源初始化?
a) 构建实例对象
b) 基于对象存储数据(例如配置信息,默认值)