springboot整合shiro(完整版)
首先先创建springboot项目,此处不过多描述。
上期带大家学习了 Shiro 中如何进行权限认证,本期将带大家学习 Shiro 中如何进行 缓存和会话管理 ,最后我们将做一个在线用户管理以及强制下线用户的功能,同样的,我们集成到 Springboot 中。
看了源码,shiro-spring-boot-web-starter依赖了shiro-spring-boot-starter,本人就说说shiro-spring-boot-web-starter的使用。
application.properties配置
1、spring.application.admin.enabled= false JMX应用程序名称MBean。spring.application.admin.jmx-name= org.springframework.boot:type= Admin,name= SpringApplication 自动配置 自动配置类排除。
2、使用说明: 直接在类路径添加 application.yml 即可。
3、对SpringBoot来说,虽然application.yml配置文件更加常见,但是其实默认配置文件是application.properties,当然其格式可以是properties也可以是yaml格式;除此之外,其配置文件也可以是bootstrap.yml。
4、application.properties中:server.port=8001,application.yml中:server.port=8888。问题:springboot是否都加载这两个配置文件?如果两个文件有相同的key,取哪一个文件的value? 都加载,且按properties→yml的顺序加载。
SpringBoot-简介
SpringBoot是一个基于Spring的快速开发框架,它通过“懒人整合包”(starter)将Spring常用的jar包包含在内,解决Spring依赖繁多问题。通过单一配置文件,解决了传统项目繁多、复杂的配置。
Spring Boot的嵌入式Apache Tomcat服务器充当Web服务器,并正在侦听localhostport上的请求8080。
Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。
将Spring Boot视为可以自动为我们完成这些初始任务的工具,确保团队可以快速开始解决实际业务问题而不是花时间在初始配置和设置。
二、springboot配置文件
首先,在SpringBoot中,有两种配置文件的方式。一种是application.properties,另一种application.yaml(或者是application.yml)。
对SpringBoot来说,虽然application.yml配置文件更加常见,但是其实默认配置文件是application.properties,当然其格式可以是properties也可以是yaml格式;除此之外,其配置文件也可以是bootstrap.yml。
默认的配置文件是application.properties。
这两个方法只会获取 classloader 类的 ucp 属性里面第一个匹配到的值。
SpringBoot中的配置文件主要有三种格式,properties、yaml、和xml方式。
springboot快速入门及@SpringBootApplication注解分析
1、首先我们分析的就是入口类 Application 的启动注解 @SpringBootApplication ,进入源码:发现 @SpringBootApplication 是一个复合注解,包括 @ComponentScan ,和 @SpringBootConfiguration , @EnableAutoConfiguration 。
2、##@SpringBootConfiguration:读取配置文件,配置文件的路径是当前根目录(src/main/resources/application.yml等)。
3、可以看到SpringBootConfiguration 等同于使用了@Configuration EnableAutoConfiguration会根据classpath以及定义的Bean来帮你加载你想要的bean。 可以通过spring.autoconfigure.exclude来排除掉不想自动加载的bean。
4、开启 Spring 应用上下文的自动配置功能,它试图猜测你可能需要配置的 bean 信息。表示包含该注解的类所在的包应该在 AutoConfigurationPackages 中注册。
5、:##@SpringBootApplication 标识该类为SpringBoot项目启动类。