
Spring Boot
文章平均质量分 60
狂神 的 Spring Boot的 一些 学习
norang
这个作者很懒,什么都没留下…
展开
-
作为服务注册中心,Eureka 比 Zookeeper 好在哪里?
作为服务注册中心,Eureka 比 Zookeeper 好在哪里?著名的CAP理论指出,一个分布式系统不可能同时满足 C(一致性)、A(可用性)、P(容错性)。由于分布容错性P在分布式系统中是必须要保存的,因此我们只能在A和C之间进行权衡。Zookeeper 保证的是CP;Eureka 保证的是AP;Zookeeper 保证的是CP当注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的注册信息,但不能接受服务直接down掉不可用。也就是说,服务注册功能对可用性的要求要高于一致性。原创 2021-10-30 14:49:35 · 631 阅读 · 0 评论 -
SpringBoot 使用 Zuul 出现 ZuulException504 异常
在开发微服务,使用了 SpringCloud Netflix 的, Zuul、Fegin、Eureka、Hystrix,四件套,来开发微服务。由于,我的电脑配置有限,所以,服务都跑的比较的慢,服务之间的延迟较大。所以,有时,在没有什么异常的情况下,Zuul 网关,爆出的 这个异常,让我比较的困惑。百度了一下,说是,因为有 熔断和负载均衡的考虑,所以,网关对于服务的调用,有一个超时设定,超过这个时间,就会报这个异常,所以我们在配置里 将时间 设定高一些,也就不会报这个异常了。ribbon: Read原创 2021-10-26 00:06:23 · 1082 阅读 · 0 评论 -
使用 Spring Data Redis 中的 redisTemplate 对 数据进行 存取时,出现了invalid stream header: 00000000 的 异常。
话说,使用了 其中 set 中 三个参数的,K-V 键值对 存入 方法,但是,在取出的时候,却发现,取出的是空值,并且,报了 这个异常。还是 比较困惑的,百度了,说是,方法 用错了,应该用 四个参数的重载方法,使用后,就可以正常取出了。参考目录记录redisTemplate set方法保存出现invalid stream header: 00000000和内容x00问题https://blog.youkuaiyun.com/WU4566285/article/details/118639424SpringBo原创 2021-10-25 23:52:53 · 985 阅读 · 0 评论 -
yml 配置 文件,报错了,咋办!
话说,在 跑 服务时,有时候 yml 配置文件,真的就会报一些 莫名其妙的 一些 错误。我遇到的,有时候是 格式写错了,有时候是 标签重复了,有时候 真的 两样都没错 但就是报错了。我的做法就是,1、把配置删了,重新根据提示来敲一遍。2、把 yml 配置,进行 格式检查,最好就 一些网站的 yml 格式的一些工具给用上。YAML、YML在线编辑器(格式化校验)http://old.qqe2.com/jsontool/yaml.php...原创 2021-10-24 18:26:33 · 2267 阅读 · 0 评论 -
在IDEA 中,Springboot项目 无法启动多个服务实例
想去开启多个服务实例的,但是,开启一个后,在修改了端口号,开启第二个时,开启的第一个服务却自动重启了,占用了这个端口,导致,我不能开启两个服务实例。不得其解。百度了,说是,服务的 热部署导致的,将服务中的 热部署依赖 删除后,就好了。参考目录https://blog.youkuaiyun.com/ibigboy/article/details/108326475...原创 2021-10-19 20:24:19 · 487 阅读 · 0 评论 -
Springboot+Dubbo+Zookeeper 使用
这里写目录标题1、 服务提供者POM.xml 依赖文件application.properties 配置文件2、 服务消费者POM.xml 依赖文件application.properties 配置文件参考目录1、 服务提供者POM.xml 依赖文件<!--dubbo--> <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter --> <dependency原创 2021-10-07 15:59:02 · 101 阅读 · 0 评论 -
SpringBoot 中 邮件任务
这里写目录标题POM.xml 邮件依赖properties 配置文件1、 一个简单的邮件2、 多文件组合、复杂的邮件参考目录POM.xml 邮件依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>properties 配置文件原创 2021-10-06 22:02:52 · 162 阅读 · 0 评论 -
SpringBoot 中 定时执行任务
定时执行的执行过程为异步执行的过程,到了时间会自动执行,不用自己调用。@SpringBootApplication@EnableAsync //开启异步的功能@EnableScheduling //开启基于注解的定时任务public class AsytaskmailApplication { public static void main(String[] args) { SpringApplication.run(AsytaskmailApplication.cla原创 2021-10-06 17:13:50 · 664 阅读 · 0 评论 -
SpringBoot 异步任务
异步任务提前返回结果,中间需要执行的耗时过程,重开一条线程去执行。@RestControllerpublic class AsyncController { @Autowired AsyncService asyncService; @GetMapping("/hello") public String hello(){ asyncService.hello(); return "success"; }}//告诉Spring这是一个异原创 2021-10-06 16:59:55 · 101 阅读 · 0 评论 -
SpringBoot 中集成 Swagger2
这里写目录标题SwaggerConfig 配置类MyController 控制类User 的 持久类application.properties 配置文件application-dev.properties 配置文件application-pro.properties 配置文件POM.xml 文件中的 Swagger 相关依赖效果演示参考目录测试总览SwaggerConfig 配置类@Configuration@EnableSwagger2public class SwaggerConf原创 2021-10-06 13:42:15 · 176 阅读 · 0 评论 -
SpringBoot 整合 Shiro MD5加密,thymeleaf页面展示
这里写目录标题ShiroConfig Shiro配置类UserRealm 类Controller MyController 类mapper UserMapperpojo User 类service UserService 接口service UserServiceImpl 实现类UserMapper 的XML 映射文件index.html 页面login.html 页面add.html 页面update.html 页面application.properties 配置文件applicatio原创 2021-10-05 18:14:59 · 465 阅读 · 0 评论 -
Shiro异常java.lang.IllegalArgumentException: Odd number of characters的解决方案
错误截图:在使用 Shiro 的时候,我们 设置了 MD5 的 加密 手段,MD5 加密后的秘文,要不是 16 位、或者是 32位,都是偶位数,所以,当你的密码是 奇数的 所以,应该有一个基本监测机制,当 数据库中的 密码为 奇数时,就会抛出这个异常。...原创 2021-10-05 17:28:03 · 828 阅读 · 0 评论 -
SpringBoot 的 SpringSecurity 配置
SecurityConfig 配置类@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { //定制请求的授权规则 @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/").permi原创 2021-09-21 23:08:23 · 654 阅读 · 0 评论 -
SpringBoot 错误页面
只需要在 templates 目录下,再创建一个error目录,相对应的 错误代码的 相关页面都放在error目录下,当错误发生时,就会返回相应的错误页面。效果展示参考目录B站 狂神https://www.bilibili.com/video/BV1PE411i7CV?p=4...原创 2021-09-21 15:08:56 · 146 阅读 · 0 评论 -
SpringBoot 中 登录拦截器的 实现
这里写目录标题效果展示参考目录LoginController@Controllerpublic class LoginController { @PostMapping("/user/login") public String login(@RequestParam("username") String username, @RequestParam("password")String password,原创 2021-09-21 14:10:16 · 247 阅读 · 0 评论 -
SpringBoot 中 登录功能的 实现
public class LoginController { @RequestMapping("/user/login") public String login(@RequestParam("username") String username, @RequestParam("password")String password, Model model){ //具体业务原创 2021-09-21 00:49:53 · 1881 阅读 · 0 评论 -
SpringBoot 中 实现国际化
这里写目录标题SpringBoot 中 localeResolver 的实现原理方式一,什么都不用配置,使用默认的 LocaleResolver 的实现逻辑效果展示方式二,使用自己创建的 LocaleResolver 来创建自己的逻辑,去实现国际化实现逻辑创建 地域解析器国际化配置文件application.yml 配置文件中,指出 我们国际化相关文件的位置Html 页面效果展示参考目录SpringBoot 中 localeResolver 的实现原理WebMvcAutoConfiguration原创 2021-09-20 22:05:32 · 9135 阅读 · 0 评论 -
SpringBoot 中 首页的实现
添加视图控制@Configurationpublic class MyMvcConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry){ registry.addViewController("/").setViewName("index"); registry.addViewController原创 2021-09-20 00:17:07 · 220 阅读 · 0 评论 -
SpringBoot 中 使用 Thymeleaf模板引擎
这里写目录标题Thymeleaf引入ThymeleafThymeleaf分析测试Thymeleaf 语法学习练习测试参考目录Thymeleaf前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat原创 2021-09-19 22:04:57 · 592 阅读 · 0 评论 -
SpringBoot 中 的ThymeleaViewResolver 视图解析器 默认去 templates 目录 中去 寻找 .html 为后缀的 文件
@ConditionalOnBean // 当给定的在bean存在时,则实例化当前Bean@ConditionalOnMissingBean // 当给定的在bean不存在时,则实例化当前Bean@ConditionalOnClass // 当给定的类名在类路径上存在,则实例化当前Bean@ConditionalOnMissingClass // 当给定的类名在类路径上不存在,则实例化当前BeanThymeleafAutoConfiguration 的静态内部类 @Configuration(.原创 2021-09-19 14:09:58 · 328 阅读 · 0 评论 -
SpringBoot 整合 MyBatis 使用
这里写目录标题整合MyBatis整合测试我们增加一个员工类再测试下,为之后做准备参考目录整合MyBatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter整合测试1、导入 MyBatis 所需要的依赖原创 2021-09-17 01:41:21 · 644 阅读 · 3 评论 -
SpringBoot 中集成 Druid 使用
集成DruidDruid简介程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说原创 2021-09-17 00:35:00 · 410 阅读 · 0 评论 -
SpringBoot 中 整合 JDBC 使用
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-09-16 11:48:45 · 200 阅读 · 0 评论 -
SpringBoot 中 设置 index.html 首页
首页处理静态资源文件夹说完后,我们继续向下看源码!可以看到一个欢迎页的映射,就是我们的首页! @Bean public WelcomePageHandlerMapping welcomePageHandlerMapping(ApplicationContext applicationContext, FormattingConversionService mvcConversionService, ResourceUrlProvider mvcResourceUrlProvider)原创 2021-09-15 21:17:36 · 4070 阅读 · 0 评论 -
SpringBoot 中 静态资源的映射规则
这里写目录标题静态资源映射规则什么是webjars 呢?第二种静态资源映射规则自定义静态资源路径参考目录要熟悉掌握开发,之前学习的自动配置的原理一定要搞明白!比如SpringBoot到底帮我们配置了什么?我们能不能修改?我们能修改哪些配置?我们能不能扩展?向容器中自动配置组件 :*** Autoconfiguration自动配置类,封装配置文件的内容:***Properties静态资源映射规则SpringBoot中,SpringMVC的web配置都在 WebMvcAutoConfiguratio原创 2021-09-15 20:10:09 · 1281 阅读 · 0 评论 -
SpringBoot 中自动获取 外部配置文件的 四个位置 和 优先级
SpringBoot 中自动获取 外部配置文件的 四个位置外部加载配置文件的方式十分多,我们选择最常用的即可,在开发的资源文件中进行配置!springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件:优先级1:项目路径下的config文件夹配置文件优先级2:项目路径下配置文件优先级3:资源路径下的config文件夹配置文件优先级4:资源路径下配置文件优先级由高到底,高优先级的配置会覆盖低原创 2021-09-14 20:38:13 · 299 阅读 · 0 评论 -
SpringBoot 中 properties、yml 配置文件的多环境切换
这里写目录标题多环境切换1、properties 配置文件的 多环境切换2、yml 配置文件的 多环境切换**注意:如果yml和properties同时都配置了端口,并且没有激活其他环境 , 默认会使用properties配置文件的!(在配置文件的位置在一个地方的情况下,因为,在不同的位置,配置文件有不同的优先级。)**参考目录多环境切换profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;1、properties 配置文件的 多环境切换我们在主原创 2021-09-14 19:46:21 · 1262 阅读 · 0 评论 -
SpringBoot 中 配合 yml、properties 配置文件的 JSR303 数据校验
这里写目录标题JSR303数据校验常见参数参考目录JSR303数据校验Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Component //注册bean@ConfigurationProperties(prefix = "person")@Validated //数据校验public class Person { @Email(message="邮箱格式错误"原创 2021-09-14 12:59:48 · 202 阅读 · 0 评论 -
SpringBoot 中 读取yml、properties 配置文件中的值,注入到实体类中
这里写目录标题读取 yaml 配置文件 中的数据,映射到 实体类中1、使用@ConfigurationProperties("person") 注解读取 properties 配置文件 中的数据,映射到 实体类中1、使用@ConfigurationProperties("person") 注解2、使用@PropertySource(value ="classpath:koma.properties") 和 @Value("${person.name}") 注解@Value注解 和 @Configuratio原创 2021-09-13 13:25:08 · 3973 阅读 · 1 评论 -
SprigBoot 中配置文件 使用 yml 文件 yml的基本语法
这里写目录标题配置文件yaml概述yaml基础语法字面量:普通的值 [ 数字,布尔值,字符串 ]对象、Map(键值对)数组( List、set )参考目录配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;比如我们可原创 2021-09-12 01:31:42 · 409 阅读 · 0 评论 -
Spring Boot 使用自定义的 Banner 展示
1、先找一个能够,将字体 生成 Banner 形式的 字符 网站https://www.bootschool.net/ascii2、在 resources 目录下,创建一个 banner.txt 文件,并将 网站生成内容 复制到 此文件中。3、重启,效果就实现了。...原创 2021-09-11 01:17:23 · 154 阅读 · 0 评论 -
使用 Spring Boot 实现一个 接口,并访问
这里写目录标题项目中直接运行 application**将 Tomcat 的运行 端口,进行改变**将项目,打包成 jar包后,再 使用 java -jar 命令运行参考目录项目中直接运行 application需要在 application 的同级目录 去创建,代码目录,Spring boot 会扫描 这个目录里面的代码,不会扫描外面的。@RestControllerpublic class CookController { @GetMapping("/cook") publi原创 2021-09-11 01:01:10 · 850 阅读 · 0 评论 -
Spring Boot 的创建方式
这里写目录标题1、通过Spring官方提供的工具来快速构建应用2、使用 IDEA 直接创建项目pom.xml 分析参考目录1、通过Spring官方提供的工具来快速构建应用Spring Initializr https://start.spring.io/我们填入或选择后 maven 项目、Java语言、SpringBoot 选择最新的稳定版本、开发的组织、项目名字、描述、打包名字、打包方式、Java版本、选择需要的依赖(选中了Web,相当于 web.xml、DispatchServlet、原创 2021-09-11 00:24:36 · 206 阅读 · 0 评论