SpringBoot-Security-用户权限分配教程

SpringBoot原则是约定优于配置,简化spring应用开发,去繁从简,产品级别的应用。

SpringBoot有哪些优点
1、快速创建独立运行的spring项目与主流框架集成
2、使用嵌入式的servlet容器,应用无需打包成war包
3、starters自动依赖与版本控制
4、大量的自动配置,简化开发,也可修改默认值
5、准生产环境的运行应用监控
6、与云计算的天然集成

在使用spring boot之前,搭建一个spring web项目需要的步骤:
1、配置web.xml,加载spring和spring mvc
2、配置数据库连接、配置spring事务
3、配置加载配置文件的读取,开启注解
4、配置日志文件
...

Spring发展阶段

第一阶段:xml配置
在Spring?1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的在开发的类和配置文件之间进行切换

第二阶段:注解配置
在Spring?2.x?时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(例如@Component、@Service),大大减少了配置量。主要使用的方式是应用的基本配置(如数据库配置)用xml,业务配置用注解

第三阶段:java配置
Spring 3.0?引入了基于?Java?的配置能力,这是一种类型安全的可重构配置方式,可以代替?XML。我们目前刚好处于这个时代,Spring4.x和Spring?Boot都推荐使用Java配置。

SpringBoot 启动器说明

名称 描述
spring-boot-starter 核心启动器,包括自动配置支持,日志记录和YAML
spring-boot-starter-activemq 使用Apache ActiveMQ进行JMS消息传递的入门者
spring-boot-starter-amqp 使用Spring AMQP和Rabbit MQ的入门者
spring-boot-starter-aop 使用Spring AOP和AspectJ进行面向方面编程的入门者
spring-boot-starter-artemis 使用Apache Artemis进行JMS消息传递的入门者
spring-boot-starter-batch 使用Spring Batch的入门者
spring-boot-starter-cache 使用Spring Framework的缓存支持的初学者
spring-boot-starter-cloud-connectors 使用Spring Cloud Connectors的初学者简化了Cloud Foundry和Heroku等云平台中的服务连接
spring-boot-starter-data-cassandra 使用Cassandra分布式数据库和Spring Data Cassandra的入门者
spring-boot-starter-data-cassandra-reactive 使用Cassandra分布式数据库和Spring Data Cassandra Reactive的入门者
spring-boot-starter-data-couchbase 使用Couchbase面向文档的数据库和Spring Data Couchbase的入门者
spring-boot-starter-data-couchbase-reactive 使用Couchbase面向文档的数据库和Spring Data Couchbase Reactive的入门者
spring-boot-starter-data-elasticsearch 使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch的初学者
spring-boot-starter-data-jdbc 使用Spring Data JDBC的入门者
spring-boot-starter-data-jpa 将Spring Data JPA与Hibernate一起使用的初学者
spring-boot-starter-data-ldap 使用Spring Data LDAP的入门者
spring-boot-starter-data-mongodb 使用MongoDB面向文档的数据库和Spring Data MongoDB的初学者
spring-boot-starter-data-mongodb-reactive 使用MongoDB面向文档的数据库和Spring Data MongoDB Reactive的入门者
spring-boot-starter-data-neo4j 使用Neo4j图形数据库和Spring Data Neo4j的入门者
spring-boot-starter-data-redis 在Spring Data Redis和Lettuce客户端上使用Redis键值数据存储的初学者
spring-boot-starter-data-redis-reactive 使用带有Spring Data Redis被动的Redis键值数据存储和Lettuce客户端的入门者
spring-boot-starter-data-rest 使用Spring Data REST通过REST公开Spring Data存储库的入门者
spring-boot-starter-data-solr 在Spring Data Solr中使用Apache Solr搜索平台的初学者
spring-boot-starter-freemarker 使用FreeMarker视图构建MVC Web应用程序的入门者
spring-boot-starter-groovy-templates 使用Groovy模板视图构建MVC Web应用程序的入门者
spring-boot-starter-hateoas 使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序的入门者
spring-boot-starter-integration 使用Spring Integration的入门者
spring-boot-starter-jdbc 将JDBC与HikariCP连接池一起使用的入门者
spring-boot-starter-jersey 使用JAX-RS和Jersey构建RESTful Web应用程序的初学者。替代spring-boot-starter-web
spring-boot-starter-jooq 使用jOOQ访问SQL数据库的初学者。替代spring-boot-starter-data-jpa或spring-boot-starter-jdbc
spring-boot-starter-json 阅读和写作json的初学者
spring-boot-starter-jta-atomikos 使用Atomikos进行JTA交易的入门者
spring-boot-starter-jta-bitronix 使用Bitronix进行JTA事务的入门者
spring-boot-starter-mail 使用Java Mail和Spring Framework的电子邮件发送支持的入门者
spring-boot-starter-mustache 使用Mustache视图构建Web应用程序的入门者
spring-boot-starter-oauth2-client 使用Spring Security的OAuth2 / OpenID Connect客户端功能的入门者
spring-boot-starter-oauth2-resource-server 使用Spring Security的OAuth2资源服务器功能的入门者
spring-boot-starter-quartz 使用Quartz调度程序的入门者
spring-boot-starter-security 使用Spring Security的入门者
spring-boot-starter-test 使用JUnit,Hamcrest和Mockito等库来测试Spring Boot应用程序的初学者
spring-boot-starter-thymeleaf 使用Thymeleaf视图构建MVC Web应用程序的入门者
spring-boot-starter-validation 使用Java Bean Validation和Hibernate Validator的初学者
spring-boot-starter-web 使用Spring MVC构建Web(包括RESTful)应用程序的入门者。使用Tomcat作为默认嵌入式容器
spring-boot-starter-web-services 使用Spring Web Services的入门者
spring-boot-starter-webflux 使用Spring Framework的Reactive Web支持构建WebFlux应用程序的初学者
spring-boot-starter-websocket 使用Spring Framework的WebSocket支持构建WebSocket应用程序的初学者
spring-boot-starter-jetty 使用Jetty作为嵌入式servlet容器的入门。替代spring-boot-starter-tomcat
spring-boot-starter-log4j2 使用Log4j2进行日志记录的入门。替代spring-boot-starter-logging
spring-boot-starter-logging 使用Logback进行日志记录的入门。默认日志启动器
spring-boot-starter-reactor-netty 使用Reactor Netty作为嵌入式响应式HTTP服务器的入门者。
spring-boot-starter-tomcat 使用Tomcat作为嵌入式servlet容器的入门者。使用的默认servlet容器启动器spring-boot-starter-web
spring-boot-starter-undertow 使用Undertow作为嵌入式servlet容器的入门者。替代spring-boot-starter-tomcat
spring-boot-starter-actuator 使用Spring Boot的Actuator的初学者,它提供生产就绪功能,帮助您监控和管理您的应用程序

创建SpringBoot项目

1、打开idea开发工具,在菜单栏选择File-->New-->Project...-->Spring Initializer
2、填写Group和Artifact信息
3、勾选web
4、修改工程名字和路径,完成