- 浏览: 2651903 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
spring可以通过的FactoryBean的形式把一个Factory整合到spring中。比如solr的客户端CommonsHttpSolrServer:
CommonsHttpSolrServer server = new CommonsHttpSolrServer("http://192.168.1.100:7100/solr/feed"); server.setSoTimeout(1000); server.setConnectionTimeout(100); server.setDefaultMaxConnectionsPerHost(100); server.setMaxTotalConnections(100); server.setAllowCompression(true); server.setParser(new XMLResponseParser());
我模仿SqlMapClientFactoryBean的方式来实现一个solr的FactoryBean
public class SolrServerFactoryBean implements FactoryBean<CommonsHttpSolrServer>, InitializingBean { private CommonsHttpSolrServer solrServer; // http://192.168.1.100:7100/solr/feed private String solrServerUrl; private int soTimeout; // socket read timeout private int connectionTimeout; private int defaultMaxConnectionsPerHost; private int maxTotalConnections; @Override public void afterPropertiesSet() throws Exception { solrServer = new CommonsHttpSolrServer(solrServerUrl); solrServer.setAllowCompression(true); solrServer.setSoTimeout(soTimeout); solrServer.setConnectionTimeout(connectionTimeout); solrServer.setDefaultMaxConnectionsPerHost(defaultMaxConnectionsPerHost); solrServer.setMaxTotalConnections(maxTotalConnections); } @Override public CommonsHttpSolrServer getObject() throws Exception { return solrServer; } @Override public Class<?> getObjectType() { return (this.solrServer != null ? this.solrServer.getClass() : CommonsHttpSolrServer.class); } @Override public boolean isSingleton() { return true; } public void setSolrServerUrl(String solrServerUrl) { this.solrServerUrl = solrServerUrl; } public void setSoTimeout(int soTimeout) { this.soTimeout = soTimeout; } public void setConnectionTimeout(int connectionTimeout) { this.connectionTimeout = connectionTimeout; } public void setMaxTotalConnections(int maxTotalConnections) { this.maxTotalConnections = maxTotalConnections; } public void setDefaultMaxConnectionsPerHost(int defaultMaxConnectionsPerHost) { this.defaultMaxConnectionsPerHost = defaultMaxConnectionsPerHost; } }
配置文件:
<bean id="solrServer" class="com.duitang.search.core.SolrServerFactoryBean"> <property name="solrServerUrl" value="${solrServerUrl}"></property> <property name="soTimeout" value="1000"></property> <property name="connectionTimeout" value="100"></property> <property name="defaultMaxConnectionsPerHost" value="32"></property> <property name="maxTotalConnections" value="128"></property> </bean>
这里solrServerUrl是通过<context:property-placeholder location="/WEB-INF/*.properties"/>替换的
发表评论
-
Raft
2018-07-12 14:20 733前言 上篇文章说解决问题要分而治之,先把分片的问题解决了再 ... -
java uuid
2017-09-14 18:18 555在java中产生uuid的方式是使用java.util.UU ... -
JAVA 编码规范
2017-09-06 11:34 406https://google.github.io/style ... -
mac 入门
2015-12-01 16:28 622http://foocoder.com/blog/wo-zai ... -
java 反编译工具gad
2014-05-09 12:04 962java 反编译工具gad,备个份。 -
java 代码大全(code book)
2014-04-29 10:59 1056参考这里: http://www.java2s.com/C ... -
SQL语法解析器JSQLParser
2014-02-09 19:53 2138SQL 语法解释器jsqlparser 是用java ... -
BufferedInputStream 深入研究。
2013-11-19 13:26 14161. BufferedInputStream的基本原理 ... -
java 启动脚本
2013-08-22 19:08 976java 启动脚本 #!/bin/bash cmd=&q ... -
CRLF escape
2013-08-06 17:51 1192最近需要对用户输入的CRLF即(\r\n)做escape, ... -
安全的自增类
2013-07-22 18:16 981java中一个计数器如果超过MAX_VALUE再自增会如何? ... -
Spring JdbcTemplate执行过程分析
2013-07-08 16:38 1655调用入口 调用JdbcTemplate提供的API都会委 ... -
solr日志被block的问题
2013-05-23 16:48 1254"catalina-exec-22386" ... -
servlet 整合freemarkder
2013-04-18 15:51 1865Servlet与FreeMarker整合 ht ... -
spring schema文档
2013-03-15 17:26 788spring schema 扩展 基于Spri ... -
Spring Resource接口总结
2013-01-17 11:52 808Spring 通过Resource接口对资源进行抽象,资源可 ... -
beanMapper
2013-01-13 22:43 884实在被一堆get,set搞烦了,周末写了一个beanMappe ... -
java instanceof ,isInstance(),isAssignableFrom之前的差异
2013-01-06 11:00 957public class ItemQuery { ... -
spring mvc 快速启动
2012-12-30 00:33 1060依赖: <dependency> ... -
通过gzip对字符串压缩
2012-12-22 18:10 3100通过GZIPOutputStream,GZIPInputStr ...
相关推荐
`FactoryBean`是Spring中用于对象创建的一种高级机制,它是一个返回特定类型对象的工厂。当我们声明一个bean为`FactoryBean`类型时,Spring容器在实例化bean时会调用`FactoryBean`的相关方法来获取实际的对象,而...
Spring 框架中 FactoryBean 是一个非常重要的概念,它提供了一种创建和管理 Bean 的机制。在 Spring 中,FactoryBean 是一个特殊的 Bean,它可以创建其他 Bean,並提供了对这些 Bean 的管理。今天,我们将深入探讨 ...
总结来说,Spring的`FactoryBean`提供了一种强大的机制,允许我们在运行时动态地创建和配置Bean,尤其适用于处理复杂逻辑和多步骤的实例化过程。通过自定义`FactoryBean`,我们可以完全控制Bean的生命周期,使得...
在Spring框架中,`FactoryBean`是一个非常关键的接口,它允许我们自定义对象的创建方式,这在...通过阅读和理解`FactoryBean`相关的测试代码,我们可以更好地掌握Spring框架的内部机制,以及如何利用它来解决实际问题。
Spring中的FactoryBean代码示例 ...FactoryBean是一种非常有用的机制,可以帮助我们更好地管理Bean的生命周期和生成复杂的对象。在实际开发中,我们可以根据需要选择使用FactoryBean来实现复杂的逻辑。
简单了解Spring中BeanFactory与FactoryBean的...BeanFactory和FactoryBean都是Spring框架中的重要组件,它们提供了不同的功能和机制来管理和生成Bean。理解它们之间的区别对我们使用Spring框架开发应用程序非常重要。
总的来说,`FactoryBean`提供了一种强大的机制,让开发者能够在Spring容器中实现更灵活的对象创建和控制。通过结合条件判断和策略模式,我们可以轻松地在运行时切换bean,适应不同的业务需求。这个特性在大型复杂...
Spring 提供了多种方式来实例化和管理 Bean,包括通过构造方法、简单工厂模式、FactoryBean 等。 Spring 还提供了多种范围的 Bean,包括 singleton、prototype 等。 Spring 的 IoC 容器是框架的核心组件,它负责...
在Spring框架中,BeanFactory和FactoryBean是两个重要的接口,它们各自扮演着不同的角色,但都与Spring容器的管理和创建对象密切相关。...在面试或实际开发中理解这两者的区别对于掌握Spring的核心机制至关重要。
总的来说,Spring整合Mybatis的关键在于利用Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)特性,以及MyBatis的Mapper接口和FactoryBean机制,实现数据访问层的...
在实际开发中,理解Spring AOP的内部机制有助于我们更好地利用其功能,提高代码的可维护性和扩展性。而DataSource的灵活配置和FactoryBean模式则可以帮助我们实现更高效、可扩展的数据访问层。通过阅读和分析源代码...
6. 异常处理:MyBatis-Spring 还将 MyBatis 的异常转换为 Spring 的 DataAccessException,使得开发者可以按照 Spring 的异常处理机制进行统一处理。 总的来说,MyBatis-Spring 1.0.1 版本为开发者提供了一个简洁、...
`FactoryBean`是Spring提供的一种强大的扩展机制,它允许我们在Spring容器内部注入自定义的创建逻辑。通过理解`FactoryBean`的工作原理和应用场景,开发者能够更好地定制Spring容器的行为,解决复杂对象创建和管理的...
9. **FactoryBean**:Spring的`FactoryBean`允许自定义Bean的创建方式。`FactoryBean`创建的对象被视为容器中的单个Bean,因此,它的实例化顺序遵循标准规则。 综上所述,Spring Bean的实例化顺序是一个复杂的过程...
3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的...
4. **MapperFactoryBean**:这个类是MyBatis-Spring提供的,它实现了Spring的FactoryBean接口,可以将Mapper接口实例化为Spring的bean,同时处理与SqlSession的交互。 5. **SqlSessionTemplate**和**...
2. **MapperFactoryBean**:该类实现了 Spring 的 FactoryBean 接口,用于生成指定类型的 Mapper 对象。通过这个工厂,我们可以在 Spring 容器中直接注入 Mapper 接口。 3. **TransactionAwareExecutor**:这是一个...