- 博客(44)
- 收藏
- 关注
原创 Java中List<Interger> 转 int[]数组
用到了jdk1.8中的Stream API代码如下import java.util.*;public class Solution { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);
2020-10-26 15:24:17 575
翻译 mysql官方文档 优化概述
8.1优化概述数据库性能取决于数据库级别的几个因素,例如表,查询和配置设置。这些软件结构导致在硬件级别执行CPU和I / O操作,您必须将这些操作最小化并使其尽可能高效。在研究数据库性能时,首先要学习软件方面的高级规则和准则,并使用时钟时间来衡量性能。成为专家后,您将了解有关内部情况的更多信息,并开始测量诸如CPU周期和I / O操作之类的东西。典型的用户旨在从其现有的软件和硬件配置中获得最佳的数据库性能。高级用户会寻找机会改进MySQL软件本身,或者开发自己的存储引擎和硬件设备来扩展MySQL生态系统
2020-10-17 02:24:14 353 1
原创 UML类图介绍和教务系统类图案例
1、概述类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。==类图(Class Diagram)==使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系。2、类图的元素在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关系
2020-10-14 08:23:15 31114
原创 Java 基本数据类型知识及面试整理
Java共有4类8种基础数据类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)、char(2字节)、boolean(1字节)。题目1:Java中char能存中文吗?答:java中的char是unicode存储,unicode编码字符集中包含了汉字,所以可以存储中文;题目2:Integer的缓存值当申明一个Integer变量的时候编译器其实会调用Integer.valueOf()方法。valueOf方法在通过valueO
2020-10-12 03:39:51 213
翻译 Spring 官方文档 1.13。 环境抽象(Environment Abstraction)
1.13。 环境抽象Environment接口是集成在容器中的抽象,它对应用程序环境的两个关键方面进行建模:profiles and properties.。profiles (概要文件)是仅在给定概要文件处于活动状态时才向容器注册的Bean定义的命名逻辑组。 可以将Bean分配给概要文件,无论是以XML定义还是带有注释。 与配置文件相关的环境对象的作用是确定哪些配置文件(如果有)当前处于活动状态,以及哪些配置文件(如果有)在默认情况下应处于活动状态。properties在几乎所有应用程序中都起着重要
2020-10-01 03:48:24 174
翻译 Springboot 官方文档 2.外部化配置
2.外部化配置Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码。 您可以使用属性文件,YAML文件,环境变量和命令行参数来外部化配置。属性值可以通过使用@Value注释直接注入到bean中,也可以通过Spring环境抽象访问,或者通过@ConfigurationProperties绑定到结构化对象。Spring引导使用一个非常特殊的PropertySource顺序,该顺序设计用于允许合理地重写值。属性按以下顺序考虑当devtools处于活动状态时,$ HOME
2020-10-01 03:23:53 728
翻译 Springboot官方文档 29.创建自己的自动配置
29.创建自己的自动配置如果您在开发共享库的公司中工作,或者在开源或商业库中工作,则可能需要开发自己的自动配置。 自动配置类可以捆绑在外部jar中,并且仍由Spring Boot拾取。不要对添加了启动器的项目做出假设。 如果您要自动配置的库通常需要其他启动器,请同时提及它们。 如果可选依赖项数量很多,那么提供一组适当的默认依赖项可能会很困难,因为您应避免包括对于库的典型用法而言不必要的依赖项。 换句话说,您不应包括可选的依赖项。无论哪种方式,您的启动程序都必须直接或间接引用核心Spring Boot
2020-09-30 21:12:35 336
翻译 Springboot官方文档 SpringApplication
本节将深入介绍Spring Boot。 在这里,您可以了解可能要使用和自定义的关键功能。 如果您尚未这样做,则可能需要阅读“ -started.html ”和“ Getting using-spring-boot.html ”部分,以便您有足够的基础知识。SpringApplication本 SpringApplication类提供了一个方便的方式来引导该从开始Spring应用程序 main()的方法。 在许多情况下,可以委托给静态 SpringApplication.run方法,如以下示例所示:
2020-09-30 15:40:06 215
翻译 9. 基于servlet层面看Spring Security
本节讨论基于Servlet的应用程序中Spring Security的高级体系结构。 分3个方面介绍 Authentication(认证), Authorization(授权),Protection Against Exploits (漏洞防护) 。9.1。复习过滤器FiltersSpring Security的Servlet支持基于Servlet Filter,因此了解Filter发挥的作用很重要。 下图显示了单个HTTP请求的处理程序的典型分层。过滤链图1. FilterChain客户端向应
2020-09-28 10:36:07 171
原创 12.3。OAuth 2.0资源服务器
12.3。OAuth 2.0资源服务器Spring Security支持使用两种形式的OAuth 2.0 Bearer Tokens来保护端点:JWTOpaque Tokens在应用程序将其权限管理委派给授权服务器(例如Okta或Ping Identity)的情况下,这很方便。资源服务器可以咨询该授权服务器以授权请求。本节详细介绍了Spring Security如何提供对OAuth 2.0 Bearer Token的支持。Spring Security存储库中提供了JWT和Opaque T
2020-09-26 23:38:39 1056
原创 一文搞懂 RabbitMQ 的重要概念
一文搞懂 RabbitMQ 的重要概念1.1 RabbitMQ 简介1.3 不同MQ特点# 1.ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。它是一个完全支持JMS规范的的消息中间件。丰富的API,多种集群架构模式让ActiveMQ在业界成为老牌的消息中间件,在中小型企业颇受欢迎!# 2.Kafka Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,
2020-09-26 20:59:43 252
原创 HandlerExecutionChain和拦截器
在上一节中,您了解了Spring提供的不同处理程序映射。处理程序映射例如基于请求URL确定用户已发出请求的执行路径。找到适当的映射后,处理程序映射将返回所谓的HandlerExecutionChain,该指令指示调度程序Servlet如何进行。HandlerExecutionChain由拦截器和一个处理程序(or controller)组成,一起提供访问业务逻辑和其他支持服务(如身份验证,日志记录和筛选)所需的全部内容。HandlerExecutionChain始终包含处理请求的处理程序(换句话说,执行
2020-09-25 09:14:10 2912
转载 Spring MVC工作流程以及请求处理流程
Spring MVC工作流程以及请求处理流程SpringMVC主要是通过前端控制器controller中的注解来完成请求处理的。前段请求从web.xml中servlet的配置开始,根据servlet拦截的url-parttern,来进行请求转发控制。处理请求的流程具体执行步骤如下:1、首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;2、页面控制器接收到请求后,进
2020-09-23 17:36:58 1737
翻译 1. Spring Web MVC
1.Spring Web MVCSpring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块(spring-webmvc)的名称,但它通常被称为“ Spring MVC”。与Spring Web MVC并行,Spring Framework 5.0引入了一个reactive-stack框架,其名称“ Spring WebFlux”也基于其源模块(spring-webflux)。本节介绍Sprin
2020-09-23 15:42:28 326
原创 数据库隔离级别
数据库隔离级别1 事务事务只是一个改变,是一些的操作集合;用专业的术语去解释,就是一个程序的执行单元;事务本身并不包含这四个特性,我们需要通过某些手段,尽可能让这个执行单元满足这四个特性,那么,我们就可以称它是一个事务,或者说是一个正确的,完美的事务。2 四特性原子性:满足原子操作单元,对数据的操作,要么全部执行,要么全部不执行。一致性:事务开始和完成时,数据都必须保持一致。隔离性:事务之间相互独立,中间状态对外部不可见。持久性:数据的修改是永久性的,即使系统出现任何故障都能够保持。
2020-09-23 09:41:12 132
翻译 1.9常见问题的解决方案
1.9。常见问题的解决方案本节介绍一些常见问题的解决方案。1.9.1。为特定的错误使用事务管理器DataSourcePlatformTransactionManager根据您对事务技术和需求的选择,使用正确的实现。如果使用得当,Spring框架仅提供了直接且可移植的抽象。如果使用全局事务,则必须对所有事务操作使用 org.springframework.transaction.jta.JtaTransactionManager该类(或其特定于 应用程序服务器的子类)。否则,事务基础结构将尝试在诸如容器
2020-09-22 22:53:18 138
翻译 1.8。应用服务器特定的集成
1.8。应用服务器特定的集成Spring的事务抽象通常与应用程序服务器无关。 此外,Spring的JtaTransactionManager类(可以选择对JTA UserTransaction和TransactionManager对象执行JNDI查找)会自动检测后一个对象的位置,具体取决于应用程序服务器。 可以访问JTA TransactionManager来增强事务语义-特别是支持事务挂起。 有关详细信息,请参见JtaTransactionManager javadoc。Spring的JtaTra
2020-09-22 22:51:51 148
翻译 # 1.7。事务绑定事件
1.7。事务绑定事件从Spring 4.2开始,事件的侦听器可以绑定到事务的某个阶段。典型的示例是在事务成功完成后处理事件。这样,当当前事务的结果实际上对侦听器很重要时,便可以更加灵活地使用事件。您可以使用@EventListener注释注册常规事件侦听器。如果需要将其绑定到事务,请使用@TransactionalEventListener。这样做时,默认情况下,侦听器绑定到事务的提交阶段。下一个示例显示了此概念。假设某个组件发布了一个订单创建的事件,并且我们想要定义一个侦听器,该侦听器仅在发布该
2020-09-22 22:47:53 101
翻译 1.6。在程序性和声明性事务管理之间进行选择
1.6。在程序性和声明性事务管理之间进行选择仅当您执行少量交易操作时,程序交易管理通常是一个好主意。例如,如果您的Web应用程序仅要求对某些更新操作进行事务处理,则可能不希望通过使用Spring或任何其他技术来设置事务代理。在这种情况下,使用 TransactionTemplate可能是一个好方法。能够显式设置事务名称也是只能通过使用编程方法进行事务管理来完成的事情。另一方面,如果您的应用程序具有大量事务操作,则声明式事务管理通常是值得的。它使事务管理脱离业务逻辑,并且不难配置。当使用Spring框架而
2020-09-22 22:44:24 154
翻译 1.5。程序化事务管理
1.5。程序化事务管理Spring框架通过使用以下两种方式提供程序化事务管理的方法:TransactionTemplate或TransactionalOperator。直接使用TransactionManager实现。Spring团队通常推荐TransactionTemplate用于命令式流中的程序化事务管理,而TransactionalOperator用于响应代码。第二种方法类似于使用JTA UserTransaction API,尽管异常处理不那么麻烦。1.5.1。使用Transa
2020-09-22 22:14:33 424
翻译 1.4。声明式事务管理
1.4。声明式交易管理大多数Spring框架用户选择声明式事务管理。此选项对应用程序代码的影响最小,因此最符合非侵入性轻量级容器的理想。Spring面向切面的编程(AOP)使Spring框架的声明式事务管理成为可能。但是,由于事务方面的代码随Spring Framework发行版一起提供并且可以以样板方式使用,因此通常不必理解AOP概念即可有效地使用此代码。Spring框架的声明性事务管理类似于EJB CMT,因为您可以将事务行为(或不指定)指定到单个方法级别。如果需要,可以在事务上下文中进行se
2020-09-22 21:16:40 237
翻译 1.3。将资源与事务同步
1.3。将资源与事务同步现在应该清楚如何创建不同的事务管理器,以及如何将它们链接到需要同步到事务的相关资源(例如,将DataSourceTransactionManager耦合到JDBC DataSource,将HibernateTransactionManager耦合到Hibernate SessionFactory,等等)。 本节描述应用程序代码(通过使用诸如JDBC,Hibernate或JPA之类的持久性API直接或间接)确保如何正确创建,重用和清理这些资源。 本节还讨论如何通过相关的Transac
2020-09-22 16:05:30 143
翻译 JSR-907 Java Transaction API(JTA)
本文档描述Java事务API(JTA)。 JTA指定事务管理器和分布式事务系统中涉及的各方之间的本地Java接口: the application, the resource manager, and the application server.。JTA包由两部分组成:允许事务应用程序解除事务边界的高级应用程序接口高级事务管理器接口,允许应用服务器控制由应用服务器管理的应用程序的事务边界划分注–从事务管理器的角度来看,JTA接口是高级的。 相反,用于事务管理器的低级API由用于实现事...
2020-09-21 22:13:12 466
翻译 1.2 理解Spring框架事务抽象
1.2。理解Spring框架事务抽象Spring事务抽象的关键是事务策略的概念。事务策略由TransactionManager定义,特别是 org.springframework.transaction.PlatformTransactionManager用于命令式事务管理以及org.springframework.transaction.ReactiveTransactionManager接口和用于响应式事务管理的 接口。以下清单显示了PlatformTransactionManagerAPI 的定义
2020-09-21 17:00:39 263
翻译 1.事务管理
1.事务管理全面的事务支持是使用Spring Framework的最令人信服的原因。Spring框架为事务管理提供了一致的抽象,具有以下优点:跨不同事务API(例如Java事务API(JTA),JDBC,Hibernate和Java Persistence API(JPA))的一致编程模型。支持声明式事务管理。与诸如JTA之类的复杂事务API相比,用于程序化事务管理的API更简单。与Spring的数据访问抽象的出色集成。以下各节描述了Spring框架的事务功能和技术:S
2020-09-21 16:29:13 124
翻译 Spring 官方文档 1.12。基于Java的容器配置 基于Spring5.2.9
1.12。基于Java的容器配置本节介绍如何在Java代码中使用注释来配置Spring容器。它包括以下主题:基本概念:@Bean和@Configuration使用AnnotationConfigApplicationContext实例化Spring容器如何使用 @Bean 注解使用@Configuration注释组成基于Java的配置Bean定义配置文件PropertySource 抽象化使用 @PropertySource声明中的占位符解析1.
2020-09-21 15:41:00 165
翻译 Spring官方文档 1.11使用JSR 330标准注释 基于Spring5.2.9
1.11。使用JSR 330标准注释从Spring 3.0开始,Spring提供对JSR-330标准注释(依赖注入)的支持。这些注释的扫描方式与Spring注释的扫描方式相同。要使用它们,您需要在类路径中有相关的jar。如果使用Maven,javax.inject则可以在标准Maven存储库(https://repo1.maven.org/maven2/javax/inject/javax.inject/1/)中找到该工件 。您可以将以下依赖项添加到文件pom.xml中:<dependency&
2020-09-21 15:40:45 182
翻译 Spring 官方文档 1.10 类路径扫描和托管组件 基于Spring5.2.9
1.10。类路径扫描和托管组件本章中的大多数示例都使用XML来指定BeanDefinition在Spring容器中生成每个配置的配置元数据。上一节(基于注释的容器配置)演示了如何通过源级注释提供大量配置元数据。但是,即使在这些示例中,“基本” bean definition也已在XML文件中明确定义,而注释仅驱动依赖项注入。本节介绍了通过扫描类路径来隐式检测候选组件的选项。候选组件是与过滤条件匹配的类,并具有在容器中注册的相应bean definition。这消除了使用XML进行bean注册的需要。相反,
2020-09-21 15:40:32 130
翻译 Spring官方文档 1.9 Spring 基于注释的容器配置 基于Spring5.2.9
1.9。基于注释的容器配置注释在配置Spring方面比XML更好吗?基于注释的配置的引入提出了一个问题,即这种方法是否比XML“更好”。简短的答案是“取决于情况”。长远的答案是每种方法都有其优缺点,通常,由开发人员决定哪种策略更适合他们。由于定义方式的不同,注释在它们的声明中提供了很多上下文,从而使配置更短,更简洁。但是,XML更擅长连接组件而不触碰其源代码或重新编译它们。一些开发人员更喜欢在源代码中连接各个组件,而另一些开发人员则认为带注释的类不再是POJO,而且,配置变得分散并且难以控制。无论
2020-09-21 15:40:18 172
翻译 Spring官方文档 1.8 Container Extension Points(Spring容器提供的扩展点)
Container Extension Points(Spring容器提供的扩展点)通常,程序员不需要手动实现ApplicationContext接口的子类。相反,可以通过插入特殊集成接口的实现来扩展Spring IoC容器。接下来的几节将描述这些集成接口。1.8.1. Customizing Beans by Using a BeanPostProcessorBeanPostProcessor接口定义了回调方法,您可以在这些回调方法以实现自己的(或者重写容器默认提供的方法)实例化逻辑,依赖关系解析逻
2020-09-21 15:40:01 223
翻译 Spring官方文档 1.7。Bean定义继承
1.7。Bean定义继承Bean定义可以包含许多配置信息,包括构造函数参数,属性值和特定于容器的信息,例如初始化方法,静态工厂方法名称等。子bean定义从父定义继承配置数据。子定义可以覆盖某些值或根据需要添加其他值。使用父bean和子bean定义可以节省很多输入。实际上,这是一种模板形式。如果您以编程方式使用ApplicationContext接口,则子bean定义由ChildBeanDefinition类表示。 大多数用户不在此级别上与他们合作。 相反,它们在诸如ClassPathXmlApplica
2020-09-21 15:39:45 212
翻译 Spring官方文档 1.4 依赖
1.4 依赖典型的企业应用程序不可能仅由单个对象(或Spring术语中的bean)组成。即使是最简单的应用程序,也需要一些对象协同工作,以最终呈现给用户。下一部分将说明如何从定义一系列独立的Bean Definition到实现对象协作以实现目标的完全实现的应用程序。1.4.1。依赖注入依赖注入(Dependency injection, DI)是一个过程,对象通过构造函数参数、工厂方法的参数或在构造或从工厂方法返回后在对象实例上设置的属性来定义它们的依赖项(即与它们一起工作的其他对象)。 然后,容器
2020-09-21 15:38:57 199
翻译 Spring官方文档 1.3。Bean总览
1.3。Bean总览Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的(例如,以XML 定义的形式 )。在容器本身内,这些bean定义表示为BeanDefinition 对象,其中包含(除其他信息外)以下元数据:包限定的类名:通常,定义了Bean的实际实现类。Bean行为配置元素,用于声明Bean在容器中的行为(作用域,生命周期回调等)。bean进行其工作所需其他bean的引用。这些引用也称为协作者或依赖项。(collaborators o
2020-09-21 15:38:42 194
翻译 Spring官方文档 1.2 容器概述
1.2。容器概述该org.springframework.context.ApplicationContext接口代表Spring IoC容器,并负责实例化,配置和组装Bean。容器通过读取配置元数据来获取有关要实例化,配置和组装哪些对象的指令。配置元数据以XML,Java批注或Java代码表示。它使您能够表达组成应用程序的对象以及这些对象之间的丰富相互依赖关系。ApplicationContextSpring提供了该接口的几种实现。在独立应用程序中,通常创建ClassPathXmlApplicatio
2020-09-21 15:38:26 177
翻译 Spring官方文档 1.1 Spring IoC容器和Bean简介
翻译自Spring官方文档:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beansIoC容器本章介绍Spring的控制反转(IOC)容器。1.1。Spring IOC容器和Bean简介本章介绍反转控制(IoC)原则的Spring框架实现。IoC也称为依赖注入(DI)。在此过程中,对象仅通过构造函数参数,工厂方法的参数或从工厂方法返回后在对象实例上设置的属性来定义其
2020-09-21 15:37:48 174
原创 mysql登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'怎么处理
当你登录时,出现这个报错.说明你的mysql密码错了.这时候怎么解决?需要重置你的密码首先.修改 /etc/my.cnf文件在mysqld中加入skip-grant-tables 如下图:然后重启mysql,使用mysql -uroot -p后直接回车进入.进入后选择数据库 mysql.使用命令use mysql.再使用show tables 后.可以看到user表中存放了所有的用户信息....
2020-03-11 02:26:35 188
原创 linux系统怎么装mysql 5.6.45
首先到开源网站 网易开源镜像站:http://mirrors.163.com/中下载mysql5.6具体的版本可以根据你的linux系统选择.由于我的linux是32位的,所以我下载的版本是 http://mirrors.163.com/mysql/Downloads/MySQL-5.6/MySQL-5.6.45-1.el6.i686.rpm-bundle.tar下载后将文件上传到lin...
2020-03-11 02:16:02 200
原创 如何部署springboot项目到linux中
将打包好的jar包上传到linux中,不知道怎么打包的话,可以看我的另一篇博客之后在linux系统中使用命令 java -jar +jar包的名称即可
2020-03-11 02:02:06 139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人