Nacos 注册中心1. 简介Nacos是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理: Kubernetes Service gRPC & Dubbo RPC Service Spring Cloud RESTful Service 功能1.服务发现和服务健康监测Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生 SDK、OpenAPI、或一个独立的 Agent 注册 Service 后,服务消费者可以使用 D ...
1.Eureka 高可用在 eureka 的基础上添加 Spring security(增加安全性,如密码验证操作)a.在 eureka 模块中引入 spring-boot-starter-security 依赖12345<!--security--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency> b.修改注册中心配置文件 application.yml12345678910111213141516171819server: port: 8083eureka: instance: hostname: localhost # 当前服务所在服务器的域名 client: register-with-eureka: false # 不向注册中心注册自己 fetch-regist ...
1.配置文件配置方式父工程 pom.xml123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.nianxi ...
大学生涯
未读请求处理1.Rest 映射及源码解析请求映射 @xxxMapping; @GetMapping @PostMapping @PutMapping @DeleteMapping Rest 风格支持(使用HTTP请求方式动词来表示对资源的操作) 以前: /getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户 现在: /user GET-获取用户 DELETE-删除用户 PUT-修改用户 POST-保存用户 核心 Filter;HiddenHttpMethodFilter 用法 开启页面表单的 Rest 功能 页面 form 的属性 method=post,隐藏域 _method=put、delete 等(如果直接 get 或 post,无需隐藏域) 编写请求映射 12345spring: mvc: hidden method: filter: enabled: true #开启页面表单的Rest功能 ...
大学生涯
未读Web 场景1.web 开发简介Spring Boot provides auto-configuration for Spring MVC that works well with most applications.(大多场景我们都无需自定义配置) The auto-configuration adds the following features on top of Spring’s defaults: Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. 内容协商视图解析器和 BeanName 视图解析器 Support for serving static resources, including support for WebJars (covered later in this document)). 静态资源(包括 webjars) Automatic registration of Converter, GenericConverter, and Forma ...
大学生涯
未读最佳实践1.SpringBoot 应用如何编写 引入场景依赖 官方文档 查看自动配置了哪些(选做) 自己分析,引入场景对应的自动配置一般都生效了 配置文件中 debug=true 开启自动配置报告。 Negative(不生效) Positive(生效) 是否需要修改 参照文档修改配置项 官方文档 自己分析。xxxxProperties 绑定了配置文件的哪些。 自定义加入或者替换组件 @Bean、@Component… 自定义器 XXXXXCustomizer; 2.Lombok 简化开发Lombok 用标签方式代替构造器、getter/setter、toString()等鸡肋代码。 spring boot 已经管理 Lombok。引入依赖: 1234<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency> IDEA 中 F ...
大学生涯
未读底层注解1. @Configuration详解基本使用 Full模式与Lite模式 示例123456789101112131415161718192021222324252627/** * 1、配置类里面使用@Bean标注在方法上给容器注册组件,默认也是单实例的 * 2、配置类本身也是组件 * 3、proxyBeanMethods:代理bean的方法 * Full(proxyBeanMethods = true)(保证每个@Bean方法被调用多少次返回的组件都是单实例的)(默认)全配置 * Lite(proxyBeanMethods = false)(每个@Bean方法被调用多少次返回的组件都是新创建的)轻量级配置 */@Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件public class MyConfig { /** * Full:外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实例对象 * @return ...
大学生涯
未读一. Spring生态圈 覆盖了: web开发 数据访问 安全控制 分布式 消息服务 移动开发 批处理 Spring5重大升级 响应式编程 内部源码设计 基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。 为什么用SpringBoot Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.link 能快速创建出生产级别的Spring应用。 SpringBoot优点 Create stand-alone Spring applications 创建独立Spring应用 Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) 内嵌web服务器 Provide opinionated ‘starter’ dependencies to simplify your build configuratio ...
一. Filter 过滤器1. 概括过滤器,顾名思义就是对事物进行过滤的,在 Web 中的过滤器,当然就是对请求进行过滤,我们使用过滤器,就可以对请求进行拦截,然后做相应的处理,实现许多特殊功能。如登录控制,权限管理,过滤敏感词汇等,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。 2. 原理当我们使用过滤器时,过滤器会对浏览器的请求进行过滤,过滤器可以动态的分为 3 个部分,1.放行之前的代码,2.放行,3.放行后的代码,这 3 个部分分别会发挥不同作用。 第一部分代码会对浏览器请求进行第一次过滤,然后继续执行 第二部分代码就是将游览器请求放行,如果还有过滤器,那么就继续交给下一个过滤器 第三部分代码就是对返回的 Web 资源再次进行过滤处理我们使用过滤器,也就是说,不止请求会经过过滤器,我们的响应也会经过过滤器。 3. api定义过滤器 12345678910111213141516171819//定义一个类,实现一个标准的Filter过滤器的接口public class DemoFilter implements Filter { ...
一. 概述Spring Security 是一个 Java 框架,用于保护应用程序的安全性。它提供了一套全面的安全解决方案,包括身份验证、授权、防止攻击等功能。Spring Security 基于过滤器链的概念,可以轻松地集成到任何基于 Spring 的应用程序中。它支持多种身份验证选项和授权策略,开发人员可以根据需要选择适合的方式。此外,Spring Security 还提供了一些附加功能,如集成第三方身份验证提供商和单点登录,以及会话管理和密码编码等。总之,Spring Security 是一个强大且易于使用的框架,可以帮助开发人员提高应用程序的安全性和可靠性。 二. 先决条件Spring Security 要求有 Java 8 或更高的运行环境。 由于 Spring Security 旨在以独立的方式运行,你不需要在你的 Java 运行时环境中放置任何特殊的配置文件。特别是,你不需要配置一个特殊的 Java 认证和授权服务(JAAS)策略文件,也不需要把 Spring Security 放到普通的 classpath 位置。 同样地,如果你使用 EJB 容器或 Servlet 容 ...