SpringBoot笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot笔记相关的知识,希望对你有一定的参考价值。

参考技术A 引入spring-boot-starter-cache依赖
@EnableCaching
在SpringBoot启动器上添加注解,开启缓存。

@Cacheable
在方法上添加此注解,若不指定key则以传入参数生成key,缓存该方法的返回参数。
@CacheEvict
在方法上添加此注解,若不指定key则以传入参数生成key,删除该缓存。
@CachePut
在方法上添加此注解,若不指定key则以传入参数生成key,调用该方法后更新缓存。

引入spring-boot-starter-data-redis依赖,SpringBoot会自动切换
application.properties中添加redis主机地址:spring.redis.host=192.168.37.135

@Autowired
StringRedisTemplate stringRedisTemplate;//键值对都为String的操作器
@Autowired
RedisTemplate redisTemplate;//键值对都为对象的操作器,对象需继承序列号接口

自定义RedisTemplate可实现不同的序列化方式,默认为jdk序列化方式。
添加自定义缓存管理器(需定义泛型),在service里添加@CacheConfig(cacheManager="")注解指定缓存管理器。

@Async
此注解标注在方法或类型上,可开启异步处理。

@EnableScheduling
在SpringBoot启动器上添加注解,开启定时任务。
@Scheduled
可以在方法和注解类型上添加注解,设置任务的定时规则。

引入spring-boot-starter-mail

配置application.properties

注入邮件发送bean

发送简单邮件

发送带附件的邮件

引入jar包
spring-boot-starter-security

创建一个配置类,继承WebSecurityConfigurerAdapter,需要注解@EnableWebSecurity开启,重写configure(HttpSecurity http)和configure(AuthenticationManagerBuilder auth)

引入依赖

判断是否已认证<div sec:authorize="isAuthenticated()">
获取姓名<span sec:authentication="name"></span>,
获取角色<span sec:authentication="principal.authorities"></span></h2>
根据角色判断是否展示<div sec:authorize="hasRole('VIP1')">

参考链接: https://spring.io/guides/gs/securing-web/

docker中运行RabbitMQ服务
在网页管理端可进行交换器的创建与消息队列的创建与绑定。
交换器路由键,不同的队列

@EnableRabbit
在SpringBoot启动器上添加注解,开启基于注解的RabbitMQ模式。

docker中安装运行Elasticsearch服务,限制内存大小256MB(默认为2G)。

地址: http://localhost:9200/testGroup/employee/1

查询文档

添加文档

请求体


删除文档

检查文档是否存在

搜索文档
地址: http://localhost:9200/testGroup/employee/_search

请求体


导入jest的jar包。

配置地址
spring.elasticsearch.jest.uris=http://118.24.44.169:9200

配置地址

创建实体类存储器接口继承ElasticsearchRepository<T,ID>

添加文档

GET /index/type/_search?q=字段:搜索值

QueryBuilder的使用: https://www.cnblogs.com/wenbronk/p/6432990.html

Dubbo是分布式服务框架,主要解决各服务调用的问题(即RPC)。
Spring Cloud是一个分布式的整体解决方案。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config

引入dubbo的jar包

引入zookeeper客户端的jar包

在application.properties里添加

在实现类里添加

在application.properties里添加

需实现接口类

添加application.yml

@EnableEurekaServer
在SpringBoot启动器上添加注解,开启注册中心功能。

添加application.yml

添加application.yml

@EnableDiscoveryClient
在SpringBoot启动器上添加注解,开启发现服务功能。

引入依赖

引入spring-boot-starter-actuator依赖

springboot学习笔记

一、什么是SpringBoot
  描述:Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目。大多数SpringBoot项目只需要很少的配置文件。
二、SpringBoot核心功能
1、独立运行Spring项目
    Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
2、内嵌servlet容器
Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。
3、提供starter简化Maven配置
spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入如图5-1所示的依赖包。
4、自动装配Spring
SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
5、准生产的应用监控
SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
6、无代码生产和xml配置  
SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。
三、SpringBoot优缺点
优点:
1、快速构建项目。
2、对主流开发框架的无配置集成。
3、项目可独立运行,无须外部依赖Servlet容器。
4、提供运行时的应用监控。
5、极大的提高了开发、部署效率。
6、与云计算的天然集成。
缺点:
1、如果你不认同spring框架,也许这就是缺点。
四、SpringBoot特性
1、创建独立的Spring项目
2、内置Tomcat和Jetty容器
3、提供一个starter POMs来简化Maven配置
4、提供了一系列大型项目中常见的非功能性特性,如安全、指标,健康检测、外部配置等
5、完全没有代码生成和xml配置文件
五、SpringBoot快速搭建
网址:http://start.spring.io;
六、SpringBoot CLI
SpringBoot CLI 是SpringBoot提供的控制台命令工具。
七、SpringBoot maven 构建项目
spring-boot-starter-parent:是一个特殊Start,它用来提供相关的Maven依赖项,使用它之后,常用的包依赖可以省去version标签。
八、SpringBoot几个常用的注解
(1)@RestController和@Controller指定一个类,作为控制器的注解
(2)@RequestMapping方法级别的映射注解,这一个用过Spring MVC的小伙伴相信都很熟悉
(3)@EnableAutoConfiguration和@SpringBootApplication是类级别的注解,根据maven依赖的jar来自动猜测完成正确的spring的对应配置,只要引入了spring-boot-starter-web的依赖,默认会自动配置Spring MVC和tomcat容器
(4)@Configuration类级别的注解,一般这个注解,我们用来标识main方法所在的类,完成元数据bean的初始化。
(5)@ComponentScan类级别的注解,自动扫描加载所有的Spring组件包括Bean注入,一般用在main方法所在的类上
(6)@ImportResource类级别注解,当我们必须使用一个xml的配置时,使用@ImportResource和@Configuration来标识这个文件资源的类。
(7)@Autowired注解,一般结合@ComponentScan注解,来自动注入一个Service或Dao级别的Bean
(8)@Component类级别注解,用来标识一个组件,比如我自定了一个filter,则需要此注解标识之后,Spring Boot才会正确识别。

 

九、待续。。。。。。 














































以上是关于SpringBoot笔记的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot学习笔记——Web开发探究

SpringBoot学习笔记——自动配置原理

Springboot学习笔记

SpringBoot狂神说 - SpringBoot笔记

springboot学习笔记

SpringBoot学习笔记.pdf,这个太全了!