schema

Spring源码 - FactoryBean 应用拓展(附源码解析)

自古美人都是妖i 提交于 2020-01-21 03:58:32
前言 在学习Spring Core中IOC容器时,你肯定会接触到BeanFactory这个Spring中最基础的IOC容器。这个应该是大家学习Spring源码时最先接触到的类了。Spring中还存在这一个FactoryBean类,两者拼写上十分相似,并且使用频率都十分得高。在一些Spring面试题,也会问你这两者有什么区别。 这里先说结论: BeanFactory:Spring中的IoC容器,所有Spring Bean 的Factory FactoryBean:一个Bean,一个不简单的Bean,一个能产生对象或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似 在学习Spring源码和其他开源项目的源码的过程当中,发现FactoryBean是一些框架在做集成Spring时经常会使用到的类,本文具体讲述的也是FactoryBean的简单实用和具体应用拓展。 What is FactoryBean Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean。 一般情况下,Spring 通过反射机制利用bean的class属性指定实现类来实例化bean 。在某些情况下,实例化bean 过程比较复杂,如果按照传统的方式,则需要在 <bean> 中提供大量的配置信息,配置方式的灵活性是受限的,

springmvc最全约束

对着背影说爱祢 提交于 2020-01-20 19:07:02
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring

实时数据同步方案

那年仲夏 提交于 2020-01-20 18:30:54
一.Flume收集各数据库日志,准实时抽取到HDFS 安装HDP,包含Flume 方案优点: 1.配置简单,不用编程:只要在flume.conf文件中配置source、channel及sink的相关属性 2.采用普通SQL轮询的方式实现,具有通用性,适用于所有关系库数据源 方案缺点: 1.在源库上执行了查询,具有入侵性 2.通过轮询的方式实现增量,只能做到准实时,而且轮询间隔越短,对源库的影响越大 3.只能识别新增数据,检测不到删除与更新 4.要求源库必须有用于表示增量的字段 二.canal 原理: canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议 mysql master收到dump请求,开始推送( slave拉取,不是master主动push给slaves )binary log给slave(也就是canal) canal解析binary log对象(原始为byte流) mysql中需要配置一个用户,专门提供给canal用 canal开源代码中发送端仅仅支持mysql,不支持oracle,接收端由于采用jdbc,mysql、oracle等可以通吃。 三.maxwell 优点: 支持bootstrap启动,同步历史数据 集成kafka,直接将数据落地到kafka

JavaWeb之Eclipse中使用Maven构建SpringMVC项目

谁都会走 提交于 2020-01-20 15:16:27
为了学习spring和maven我这也是拼了老命了,光使用maven配置springmvc我花了上周一周的时间,下班回来就搞,一直有bug,一个bug接着一个,昨天一整天都在解决配置的问题,让大学同学亲自出马,这里先谢谢蒙了,今天又专门跑去新天下,找之前公司的小伙伴来帮忙。我也是参考的网上的博客,不过根据参考的自己在配置过程中也出现了好多的坑。想着使用Maven配置springmvc主要是先大致的了解下maven和spring,然后再慢慢的深入的了解maven和spring。 1.Eclipse创建Maven Project 2.选择Archetype,这里是创建web的项目,所以选择的是webapp 3.输入GroupId,Artifact Id和Viesion,这样算是输入了坐标,方便以后查找。关于坐标是maven的概念,这个以后会经常用到。 4.选中项目点右键找到属性,在build path中可以看到有几个文件不存在,可以按照缺失的增加上。 5.配置仓库 上面创建完成之后引入spring开始就bug一个接着一个,我现在pom.xml中配置了spring的几个部分,但是发现下面的错误,问了下同学告诉我说的仓库的问题,访问不了。建议使用阿里的国内的,于是我就重新设置了下仓库。需要在maven的安装目录下的conf/下的settings.xml中设置。

Spring bean依赖注入、bean的装配及相关注解

那年仲夏 提交于 2020-01-20 11:03:53
依赖注入 Spring主要提供以下两种方法用于依赖注入 基于属性Setter方法注入 基于构造方法注入 Setter方法注入 例子: public class Communication { private Messaging messaging; /* * DI via Setter */ public void setMessaging(Messaging messaging){ this.messaging = messaging; } public void communicate(){ messaging.sendMessage(); } } 如上 Communication类有一个messaging属性,并含有setMessaging方法,那么使用Setter方法注入的时候,只需要使用如下XML配置即可: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=

Spring学习系列(二) 自动化装配Bean

☆樱花仙子☆ 提交于 2020-01-20 11:02:56
一、Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组件扫描默认是不启动的,需要显式的配置Spring,从而命令Spring去寻找带有(@Component)注解的类,并为其创建bean。 1、定义接口 package com.seven.springTest.service; public interface HelloWorldApi { public void sayHello(); } 2、定义接口的实现类 package com.seven.springTest.service.impl; import org.springframework.stereotype.Component; import com.seven.springTest.service.HelloWorldApi; @Component //通过注解指定该类组件类,告知spring要为它创建Bean public class PersonHelloWorld implements HelloWorldApi { @Override public void sayHello() { System.out.println("Hello World,This Is

Spring与ActiveMQ整合

微笑、不失礼 提交于 2020-01-20 08:58:03
在实际的项目中如果使用原生的ActiveMQ API开发会比较麻烦,因为需要创建连接工厂,创建连接等,我们应该使用一个模板来做这些繁琐的事情,Spring帮我们做了! Spring提供了对JMS的支持,需要添加Spring支持jms的包,如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.9.0</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.9.0</version> </dependency> 在spring-amq.xml中配置JmsTemplate (这样的配置没啥问题,在实际的项目中就是这样配置的) <?xml version="1.0"

28_spark六—sql

陌路散爱 提交于 2020-01-20 08:08:11
spark内存计算框架 1、sparksql是什么 2、sparksql的四大特性 3、DataFrame概念 4、DataFrame与RDD对比(★★★) 引入schema元信息 引入off-heap使用堆外内存 5、DataFrame操作(★★★★★) DSL风格语法 SQL风格语法 6、DataSet概念 7、通过idea开发sparksql程序实现将RDD转换成DataFrame(★★★★★) 利用反射机制 通过StructType对象指定dataFrame表的schema信息 1.sparksql概述 1.1 sparksql的前世今生 Shark是专门针对于spark的构建大规模数据仓库系统的一个框架 Shark与Hive兼容、同时也依赖于Spark版本 Hivesql底层把sql解析成了mapreduce程序,Shark是把sql语句解析成了Spark任务 随着性能优化的上限,以及集成SQL的一些复杂的分析功能,发现Hive的MapReduce思想限制了Shark的发展。 最后Databricks公司终止对Shark的开发 决定单独开发一个框架,不在依赖hive,把重点转移到了 sparksql 这个框架上。 1.2 什么是sparksql Spark SQL is Apache Spark’s module for working with structured

简单搭建一个SSM项目(一)

假装没事ソ 提交于 2020-01-20 03:06:04
简单搭建一个用户管理的 SSM 项目框架,虽然也能用 servlet+jdbc 搭建更简单的,不过个人感觉工作中更多用的 ssm 框架项目,这里就简单用 ssm 来搭建需要的项目吧。 准备工具: eclipse 、 jdk1.7 、 Mysql 、 maven 、 tomcat 。(请先确定计算机本身已安装好前面几个工具, myeclipse 自动集成 maven , eclipse 需要自己先配置,具体配置请自行百度) 这里先把项目的目录结构显示下 好的,现在开始 File->new->other->maven project Next-> 下面注意选择带 webapp 的原型 Next-> 这里的 group id 是你的项目在 maven 仓库中存放的路径, Artifact Id 是你的项目名称。 好了到这里为止你会发现你的 eclipse 里会出现一个 DemoSSM 的项目。 接下来我们开始一步步配置项目的依赖 jar 包。 打开项目 pom.xml 文件。 很简陋对吧,这里只是自带了一个早期版本的 junit, 具体需要更新 pom.xml 具体我就不说了下面贴出 pom.xml 配置文件。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001

Spring MVC - 静态页面

对着背影说爱祢 提交于 2020-01-20 02:48:19
环境搭建 以下示例显示如何使用 Spring MVC Framework 编写一个简单的基于Web的应用程序,它可以使用 <mvc:resources> 标记访问静态页面和动态页面。首先使用Intellij IDEA创建一个动态WEB项目,并按照以下步骤使用 Spring Web Framework 开发基于动态表单的Web应用程序: 创建一个简单的动态Web项目: StaticPages ,并在 src 目录下创建一个 com.ktao.controller 包。 在 com.ktao.controller 包下创建一个Java类 WebController 。 在pages子文件夹下创建一个静态文件 final.html 。 在web /WEB-INF 文件夹下创建一个Spring配置文件 StaticPages-servlet.xml ,如下所述。 最后一步是创建所有源和配置文件的内容并运行应用程序,如下所述。 完整的项目文件结构如下: 配置文件 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi