SpringBoot
OVO_LQ_Start
一个弱小的菜鸟在瑟瑟发抖
展开
-
SpringBoot(34)服务注册发现实例以及分布式开发
Dubbo 与分布式系统【1】分布式系统:分布式系统就是若干个独立的计算机的集合,这些计算机对于用户来说就是一个整体大型的计算机。目的就是当一台计算机的能力不足时,我们用更多的电脑处理更多的数据。【2】Dubbo:Apache Dubbo 是一个基于Java的高性能,轻量级的RPC框架。Dubbo提供了三个关键功能,包括基于接口的远程呼叫,容错和负载平衡以及自动服务注册和发现。【3】RPC 分布式服务框架 :一个个计算机的增加可以解决计算能力的不足,但是同时带了一个问题,一台计算机的项目中不同功能的使原创 2020-09-28 01:43:50 · 195 阅读 · 0 评论 -
SpringBoot(33)Dubbo-amin的安装使用
1.下载Dubbo-amin1.去gitHub上面直接搜Dubbo-amin既可以下载,选择稳定版本master。2.解压进入目录1.指定zookeeper端口:进入D:\dubbo-admin\dubbo-admin-master\dubbo-admin\src\main\resources\application.propertiesdubbo.registry.address=zookeeper://127.0.0.1:21813.在项目下打包dubbo-admin进入目录 :cd D原创 2020-09-27 01:42:55 · 110 阅读 · 0 评论 -
SpringBoot(32)zookeeper的简单安装
安装zookeeper1.进入官网下载地址2.下载之后解压到你想要安装的目录上测试1.运行zookeeper需要用管理员的方式运行2.进图bin目录下,运行zkService.cmd3.假如出现闪退的情况,进入conf目录下,复制一份zoo_sample.cfg文件改为zoo.fig即可。...原创 2020-09-27 01:00:42 · 75 阅读 · 0 评论 -
SpringBoot(31)定时任务
1.开启定时@EnableScheduling@SpringBootApplicationpublic class SpringbootAsynchronousApplication { public static void main(String[] args) { SpringApplication.run(SpringbootAsynchronousApplication.class, args); }}2.编写定时任务使用了cron表达式。crontab文件的格式:M H原创 2020-09-24 23:57:38 · 177 阅读 · 0 评论 -
SpringBoot(30)邮件发送
1.搭建环境1.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>2.配置邮件发送信息spring.mail.username=邮箱spring.mail.password=开启qq邮箱的pop3加密密钥sp原创 2020-09-24 23:29:57 · 146 阅读 · 0 评论 -
SpringBoot(29)异步任务初见解
1.模拟需要异步任务的场景业务层@Servicepublic class AsynService { public void hello(){ try { Thread.sleep(3000); }catch (Exception e){ e.printStackTrace(); } System.out.println("数据正在处理中。。。"); }}控制层原创 2020-09-23 23:53:02 · 143 阅读 · 0 评论 -
SpringBoot(28)Swagger注解,分组以及基本功能使用
1.注解简单来说就是给实体类与接口中进行注释,让前后端人员测试能清楚知道方法作用,方便测试。//接口 @ApiOperation("Post请求") @PostMapping("/user/{username}/{password}") public User user(@PathVariable("username") String username,@PathVariable("password") String password){ User user = new原创 2020-09-19 15:50:40 · 697 阅读 · 0 评论 -
SpringBoot(27)Swagger自定义扫描接口以及开关
1.自定义扫描接口1.Docket的select().build();方法中实现2.apis(RequestHandlerSelectors.basePackage(“com.qing.swaggerdemo.controller”))配置需要扫描的包return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apinfo()) .select() .a原创 2020-09-19 14:25:21 · 340 阅读 · 0 评论 -
SpringBoot(26)配置swagger以及简答源码分析
1.Swagger的ben实例Docket1.将Docke对象t加入容器中 @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apinfo()); }2.Docket源码【1】返回docket实例需要DocumentationType的参数 public Docket(DocumentationType do原创 2020-09-14 14:37:05 · 213 阅读 · 0 评论 -
SpringBoot(25)集成Swagger
1.创建简单的springboot-web项目因为swagger是在网页上显示,所以需要web启动器r,swagge简单来说就是一个解决前后端分离数据及时更新的api接口。2.导入依赖<!--springboot继承swaager--> <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> <dependency> <groupId>io.原创 2020-09-14 14:02:44 · 77 阅读 · 0 评论 -
SpringBoot(24)Shiro整合thymeleaf
1.导入依赖类似SpringSercurity<!--shiro整合thymeleaf--> <dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId> <version>2.0.0</version> </depende原创 2020-09-13 11:11:24 · 205 阅读 · 0 评论 -
SpringBoot(23)Shiro的授权
1.设置权限参考shiro的快速入门 1.filterMap.put("/user/add","perms[user:add]"); 2.filterMap.put("/user/update","perms[user:update]"); @Bean public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("securityManager") DefaultWebSecurityManager secur原创 2020-09-12 23:41:28 · 157 阅读 · 0 评论 -
SpringBoot(23)Shiro整合mybatis
1. 导入依赖思路:类似springboot整合mybatis因为实体类用了lombok所以多导了Lombok的依赖。<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency> <depend原创 2020-09-12 22:22:54 · 110 阅读 · 0 评论 -
SpringBoot(22)Shiro的认证
1.前台取数据controller中获取数据 @RequestMapping({"/login"}) public String login(String username ,String password ,Model model){ //获取当前用户名 Subject subject = SecurityUtils.getSubject(); //封装用户的登录信息 UsernamePasswordToken token =原创 2020-09-12 16:05:54 · 94 阅读 · 0 评论 -
SpringBoot(21)Shiro的登录拦截
拦截功能的实现注意:环境搭建参考上一篇文章。【1】.Map<String, String> filterMap = new LinkedHashMap<>();//创建拦截map,用来保存过滤的信息【2】.filterMap.put("/user/add",“authc”);//添加拦截的请求,和权限设置【3】.shiroFilterFactoryBean.setFilterChainDefinitionMap(filterMap);//添加内置过滤器【4】.shiroFi原创 2020-09-12 15:20:26 · 407 阅读 · 0 评论 -
SpringBoot(20)Shiro整合SpringBoot
1.导入依赖 <!--shiro整合spring的包--> <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <versi原创 2020-09-12 14:44:28 · 133 阅读 · 0 评论 -
SpringBoot(19)Shiro简单入门与分析
1.导入依赖创建简单的maven项目,导入依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shi原创 2020-09-11 23:02:35 · 313 阅读 · 0 评论 -
SpringBoot(18)SpringSecurity首页定制
1.首页定制使用security默认的页面很不美观,可以定制自己的页面 //定制首页 http.formLogin().loginPage("/toLogin")//跳转到登录的页面的地址 .usernameParameter("username")//提交的用户名 .passwordParameter("password")//提交的密码 .loginProcessingUrl("/login");//登录后跳转的地址2.记住我功能实原创 2020-09-11 13:53:44 · 260 阅读 · 0 评论 -
SpringBoot(17)Sercurity注销和权限控制
1.整合thymeleaf与sercurity1.导入依赖<!--整合thymeleaf与sercurity--> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity4</artifactId> <version>3.0.4.RELEASE</versi原创 2020-09-10 22:50:58 · 221 阅读 · 0 评论 -
SpringBoot(16)SpringSercurity认证与授权
1.搭建环境导入启动器starter<!--导入sercuryty--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>2.编写Sercurity的配置1.创建config包,并且创建Sercur原创 2020-09-09 23:44:59 · 356 阅读 · 0 评论 -
SpringBoot(15)整合mybatis
1.导入包导入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>2.配置文件注意:编写mapper接口的时候添加@mapper注解。原创 2020-09-08 21:34:42 · 121 阅读 · 0 评论 -
SpringBoot(14)整合Durid数据元
Druid配置web.xml1.导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency>2.填写自定义配置与数据库连接配置spring: datasource: username: roo原创 2020-07-27 18:10:14 · 126 阅读 · 0 评论 -
SpringBoot(13)web开发之restful风格与404页面
restful风格实列实现员工编辑功能1.传递需要修改员工信息的url<a class="btn btn-sm btn-primary" th:href="@{/emp/}+${emp.getId()}"> 编辑</a>2.接受员工信息的controller(获取员工信息) @GetMapping("/emp/{id}") public String updateEmp(@PathVariable("id")Integer id,Model model){原创 2020-07-23 16:34:46 · 296 阅读 · 0 评论 -
SpringBoot(12)thymeleaf组件化,遍历和三元运算符
组件化1.相同的代码可以组件化可以提高代码的复用,th:fragment="topbar"将代码组件化,单独放到一个目录下<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><!--头部导航栏--><nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0" th:fragment="topbar原创 2020-07-22 12:19:34 · 533 阅读 · 0 评论 -
SpringBoot(11)拦截器的使用
拦截器的使用我们不能让客户通过地址栏来访问我们后台,必须通过登录才能访问后台。1.隐藏登录的访问到后台的路径,将@RequestMapping("/user/login")路径跳转到main.html,但是不存在main.html。接下来实现第二步@Controllerpublic class LoginController { @RequestMapping("/user/login") public String login( @RequestPar原创 2020-07-22 12:05:08 · 142 阅读 · 0 评论 -
SpringBoot(10)web开发之样式生效和国际化
样式生效html是由thyemeleaf来接管,使样式生效,使用th:src="@{/img/bootstrap-solid.svg}"来代替原先样式。国际化1.在资源下创建i18n目录,配置好需要转换得语言配置文件英文login.btn=Sign inlogin.password=Passwordlogin.remeber=Remerber melogin.tip=Please sign inlogin.username=Username中文login.btn=登录login.p原创 2020-07-19 15:11:29 · 131 阅读 · 0 评论 -
SpringBoot(9)MVC的原理和扩展
MVC的原理官方文档:If you want to keep those Spring Boot MVC customizations and make more MVC customizations (interceptors, formatters, view controllers, and other features), you can add your own @Configuration class of type WebMvcConfigurer but without @EnableWe原创 2020-07-07 17:04:46 · 159 阅读 · 0 评论 -
SpringBoot(8)thymeleaf模板导入
导入模板1.要想使用thymeleaf模板,首先 导入thymeleaf启动器,点击官网查看依赖2.导入依赖即可thymeleaf赋值与遍历Controller@Controllerpublic class indexController { @RequestMapping("/index") public String index(Model model){ model.addAttribute("user", "hello,spring");原创 2020-07-05 09:21:15 · 307 阅读 · 0 评论 -
SpringBoot(7)web开发之首页测试
首页的使用1.WebMvcAutoConfiguration.class中找到getWelcomePage方法 private Optional<Resource> getWelcomePage() { String[] locations = WebMvcAutoConfiguration.getResourceLocations(this.resourceProperties.getStaticLocations()); return Ar原创 2020-07-04 08:50:45 · 145 阅读 · 0 评论 -
SpringBoot(6)web开发之静态资源导入
静态资源1.找到自动装配的WebMvcAutoConfiguration.calss2.找到方法addResourceHandlers:加载资源处理器public void addResourceHandlers(ResourceHandlerRegistry registry) { if (!this.resourceProperties.isAddMappings()) { logger.debug("Default resource han原创 2020-07-04 08:27:53 · 187 阅读 · 0 评论 -
SpringBoot(5)自动装配原理深入理解
分析自动装配原理以httpEncodingAutoConfig为列://表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration( proxyBeanMethods = false)//启动指定类的ConfigurationProperties功能;//进入这个HttpProperties查看,将配置文件中对应的值和HttpProperties绑定起来;//并把HttpProperties加入到ioc容器中@EnableConfigurati原创 2020-07-03 09:52:45 · 210 阅读 · 0 评论 -
SpringBoot(4)JSR303数据校验以及多环境配置
JSR303数据校验使用1.开启数据校验@Validatedpublic class Person { @Email(message = "数据格式错误") private String name ;2.运行结果default message [数据格式错误]; 格式不满足报自己定义错误。常见参数@NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")pri原创 2020-07-02 08:52:22 · 214 阅读 · 1 评论 -
SpringBoot(3)yaml方式给属性赋值
yaml的使用1.将原先工程的核心配置文件application.properties修改为application.yaml。名字不能修改,默认是application2.创建实体类Dog和Personpackage com.liuqing.pojo;import org.springframework.stereotype.Component;//注入组件@Componentpublic class Dog { private String name ; private I原创 2020-06-27 13:23:47 · 318 阅读 · 0 评论 -
SpringBoot(2)自动装配
主启动类1.注解@SpringBootApplication,查看注解//@SpringBootApplication:标注这个类是一个springboot的应用:@SpringBootApplicationpublic class Spring01Application { public static void main(String[] args) { //将springboot应用启动 SpringApplication.run(Spring01Application.class,原创 2020-06-27 09:27:11 · 163 阅读 · 0 评论 -
SpringBoot(1)简单创建项目
Springboot简介1.spring是一个开源框架,作者是Rod Jonnson,目的是为了简化java的开发。【1】基于pojo的轻量级和最小侵入性编程【2】通过依赖注入和面向接口实现高内聚,低耦合【3】基于切面和惯列机芯声明式编程【4】通过切面和模板减少样式代码2.springboot,是一个javaweb开发的框架,和springMVC类似,简化开发,约定大于配置,快速的开发web应用。springboot是基于spring框架的应用程序,是为了提升开发者的体验,以约定大于配置的核心原创 2020-06-25 11:50:37 · 191 阅读 · 0 评论