- 博客(652)
- 资源 (172)
- 收藏
- 关注
原创 源码框架-Spring IOC-07-使用底层组件与动态环境切换
一、我们自己的组件 需要使用spring ioc的底层组件的时候,比如 ApplicationContext等 我们可以通过实现XXXAware接口来实现@Componentpublic class BertComponent implements ApplicationContextAware, BeanNameAware { private ApplicationC...
2019-09-22 23:25:09
269
原创 源码框架-Spring IOC-06-自动装配
一、@Autowired用法1、@Autowired注解默认当前的依赖是必须的可以通过@Autowired(required = false)将required属性的值设置为false来消除这种错误。@Repositorypublic class UserDao { public UserDao() { System.out.println("创建...
2019-09-18 00:29:13
232
原创 源码框架-Spring IOC-05-Bean的生命周期
一、什么是bean的生命周期bean的创建----->初始化----->销毁方法由容器管理Bean的生命周期,我们可以通过自己指定bean的初始化方法和bean的销毁方法。单实例bean:容器启动的时候,bean的对象就创建了,而且容器销毁的时候,也会调用Bean的销毁方法多实例bean:容器启动的时候,获取bean的时候才会被创建,而且bean的销毁不受 IOC容器的...
2019-09-12 23:23:26
227
原创 源码框架-Spring IOC-04-往IOC容器添加组件
一、@Conditional进行条件判断是否能加入IOC场景:二个组件BertService 和BertDao ,我的BertService组件是依赖于BertDao的组件 二个组件UserService 和UserDao ,我的UserService组件是依赖于UserDao的组件,但不将UserDao放入IOC应用:自己创建BertCondition、UserCondition的类...
2019-09-12 22:45:42
202
原创 源码框架-Spring IOC-03-配置bean作用域对象
一、@Scope概念:简单说就是对象在spring容器(IOC容器)中的生命周期,也可以理解为对象在spring容器中的创建方式,在不指定@Scope的情况下,所有的bean都是单实例的bean,而且是饿汉加载(容器启动实例就创建好了) 。具体创建方式有如下五种方式:1、singleton 单实例(默认)所有引用此bean都是单一实例,从容器启动到第一次被请求而实例化开始,只...
2019-09-11 23:59:35
275
原创 源码框架-Spring IOC-02-包扫描注解使用
一、xml配置文件的形式 VS 配置类的形式1、基于xml的形式定义Bean的信息<?xml version="1.0" encoding="UTF-8"?><beans ...><bean id="bert" class="com.bert.xmlbeanfactory.Bert"></bean><bean class...
2019-09-10 23:24:29
164
原创 源码框架-Spring IOC-01-Spring框架介绍
一、Spring 框架图二、Spring 框架图说明1、Spring Data Access/Integration 数据访问与集成 1)Spring-jdbc模块提供了一个 JDBC 抽象层,消除了烦琐的JDBC编码和数据库厂商特有的错误代码解析。 2)Spring-orm模块为流行的对象关系映射(Object-Relational Mapping)A...
2019-09-03 21:23:12
145
原创 性能优化-Nginx-04-配置与使用
一、配置文件的语法格式: (1)Nginx默认配置nginx.conf,修改配置文件时注意编码与语言格式worker_processes 1; # 允许的工作进程数, 默认进程为1events { worker_connections 1024; # 最大连接数,默认1024}http { # http请求配置快,只能配置一个 include ...
2019-09-02 22:19:13
179
原创 性能优化-Nginx-03-命令使用
(1)查看命令帮助,找到所有命令说明 cd /usr/local/nginx/sbin ./nginx -h(2)查看当前nginx版本 ./nginx -v(3)查看当前nginx版本与配置参数等 ./nginx -V(4)检查当前nginx配置文件是否合法 ./nginx -t(...
2019-09-01 11:02:29
125
原创 性能优化-Nginx-02-添加新模块
一、添加新模块:(1)模块参数信息参考http://nginx.org/en/docs/configure.html 进入nginx解压目录 cd /usr/local/src/package/nginx-1.16.1(2)例如:添加查看状态的模块,构建 ./configure --with-http_stub_status_...
2019-08-31 23:14:59
159
原创 性能优化-Nginx-01-编译与安装
一、安装环境准备:(1)linux 内核2.6及以上版本: 只有2.6之后才支持epool ,在此之前使用select或pool多路复用的IO模型,无法解决高并发压力的问题。 通过命令uname -a 即 可查看。 指令:uname -a 结果:Linux localhost.localdomain1 2....
2019-08-31 20:30:17
168
原创 struts2中的constant配置详解
"http://struts.apache.org/dtds/struts-2.0.dtd"> 提示:当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法. >
2015-05-29 14:45:58
480
原创 jdbc事务处理
在JDBC的数据库操作中,一项事务是由一条或是多条表达式所组成的一个不可分割的工作单元。我们通过提交commit()或是回退rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。首先我们要注意,在JDBC中,事务操作默认是自动提交。也就是说,一条对数据库的更新表达式代表一项事务操作。操作成功后,系统将自动调用commit()来提交,否则
2015-05-27 13:55:10
712
原创 JAVA EE架构师 需要具备的知识
1、构架师胚胎(程序员)学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。2、构架师萌芽(高级程序员)学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生
2015-05-26 16:13:34
776
原创 MyISAM InnoDB 区别
MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。 以下是一
2015-05-07 10:13:09
458
原创 MySQL check the manual that corresponds to your MySQL server version for the right syntax错误
本地化GO的时候一直遇到一个错误就是check the manual that corresponds to your MySQL server version for the right syntax,反复检查过多次语句都没发现错误,后来网上搜索解决方法见到:遇到的check the manual that corresponds to your MySQL se
2015-05-06 15:14:43
753
原创 MySQL实现类似Oracle的序列
Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的;但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长、开始索引、是否循环等;若需要迁移数据库,则对于主键这块,也是个头大的问题。本文记录了一个模拟Oracle序列的方案,重点是想法,代码其次。Oracle序列的使用,无非是使用.nextval和.
2015-05-06 14:47:34
472
原创 SpringMVC中Controller的@ResponseBody注解分析
需求分析:需要 利用 out 对象返回给财付通是否接收成功 。那么将需要如下代码:[java] view plaincopy/** * 返回处理结果给财付通服务器。 * @param msg: Success or fail。 * @throws IOException */ public void s
2015-05-05 22:00:17
970
原创 SpringMVC的几种返回方式
package com.boventech.learning.controller;import java.util.HashMap;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import or
2015-05-05 17:06:05
481
原创 Maven项目中使用本地JAR包
在Maven项目中使用本地JAR包有两种方法:1. 使用system scope org.richard my-jar 1.0 system ${project.basedir}/lib/my-jar.jar system scope引入的包,在使用jar-with-
2015-05-05 15:36:42
416
原创 Maven项目中用Memcached实现缓存配置
这是新的项目架构,得说,这次很大胆的用了Maven 的多模块项目设计来重新做这个庞大的项目。 下面记录Memcached 在Maven 中的配置。首先介绍如何手动添加第三方类库到自己电脑的本地仓库,这折腾了我一个晚上,点击链接 Maven 中手动添加第三方类库到自己电脑的本地仓库.m2 。首先添加Memcached 的Java 客户端到项目依赖中,如下
2015-05-05 15:14:59
1128
原创 使用Maven
1.使用属性properties和exclusions如果要阻断一些传递的依赖,可以添加:exclusions,这样可以不在构建的时候往我们的构件离添加太多无用的jar,前提是经过测试,阻断依赖后程序功能无异常,或添加了其它相同功能的依赖,如阻断收费版,换成依赖免费版。Xml代码 org.spring.framework
2015-05-05 10:38:44
519
原创 再谈maven自动部署到tomcat的问题
最近需要使用Maven将项目自动部署到Tomcat,在网络上也查找了很多文章,内容大同小异,今天打算在这里给自己做一个小总结参考网址:http://blog.csdn.net/dilaomimi/article/details/6955850我使用的环境是:Eclipse Java EE IDE for Web Developers(Helios Service Release 1
2015-05-03 00:39:04
470
原创 Tomcat配置文件入门
Tomcat 基本配置 tomcat读取配置文件首先简单说一下tomcat是如何读取配置文件的。tomcat在启动时,首先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml要配置tomcat,基本上了解server.xml,context.x
2015-04-30 14:02:03
610
原创 maven tomcat plugin实现热部署
总共分为五步:1.在tomcat中配置用户权限,即添加管理员帐号2.在maven中添加server,配置tomcat的管理员帐号密码3.在project中添加插件,以及maven中配置的server,4.设置部署命令5.进行部署附相关错误及解决办法下面进行分步骤讲解:一.在tomcat中配置用户权限,即添加管理员帐号.我们需要实现热部署,自然
2015-04-30 10:57:50
10525
原创 spring配置log4j
1.配置基本的springMVC+hibernate环境。网上有很多这种例子。2.需要使用log4j,首先就要在web.xml中配置log4j.方法有两种: 1.我们可以自己写一个servlet,服务器启动的时候自动加载,让该servlet加载log4j的配置文件(properties或者xml文件),这种方法百度百科讲log4j有详细说明。
2015-04-30 10:55:54
543
原创 maven + eclipse 问题记录
1、警告:The tag handler class for "s:form" (org.apache.struts2.views.jsp.ui.FormTag) was not found on the Java Build Path这个问题终于可以解决了, 在出问题的页面 标签前后删除空格后保存文件 警告即可消失,即为改行的起始,然后保存。 2、Eclipse下Java
2015-04-29 22:17:32
498
原创 eclipse如何修改dynamic web module version
eclipse如何修改dynamic web module version一、修改工程属性:右键eclipse的工程,选择属性,再选择Project Facets里面中选择Dynamic Web Module ,将3.0修改为2.5,可能会提示如下信息:Cannot change version of project facet Dynamic Web Module to 2.
2015-04-29 21:49:27
442
原创 JAVA深入研究——Method的Invoke方法。
在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。 Method的invoke方法 1.先检查 AccessibleObject的override属性是否为true。Accessibl
2015-04-15 10:46:14
691
原创 spring - ioc和aop
1.程序中为什么会用到spring的ioc和aop2.什么是IOC,AOP,以及使用它们的好处,即详细回答了第一个问题3.原理 关于1: a:我们平常使用对象的时候,一般都是直接使用关键字类new一个对象,那这样有什么坏处呢?其实很显然的,使用new那么就表示当前模块已经不知不觉的和 new的对象耦合了,而我们通常都是更高层次的抽象模块调用底
2015-04-15 09:27:00
488
原创 序列化的作用,应用场景,除了网路传输
关于更多java序列化的问题可以参见JAVA系列之对象的序列化与反序列化 Java的序列化机制只序列化对象的属性值,而不会去序列化什么所谓的方法。其实这个问题简单思考一下就可以搞清楚,方法是不带状态的,就是一些指令,指令是不需要序列化的,只要你的JVM classloader可以load到这个类,那么类方法指令自然就可以获得。序列化真正需要保存的只是对象属性的值,和对象的类型。
2015-04-14 16:47:44
2668
原创 字符常见的几种编码方式
无论在是在编辑文本文件的时候,还是在制作网页的时候,总会遇到文本编码方式的问题。如果处理不当,就会出现乱码的问题。因此,有必要对文本的编码方式做一个详尽的了解。常见的一些字符编码方式无非有:Unicode、ASCII、GBK、GB2312、UTF-8。下面先对常见的这一些字符编码方式作下说明:1.ASCII码这是美国在19世纪60年代的时候为了建立英文字符和二进制的关系时制
2015-04-14 15:54:49
2397
原创 数据库设计三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值
2015-04-14 15:11:39
365
原创 Java 二叉树排序
创建节点类:package org.binary;public class Node {Node left;Node right;int data;public Node(int data) {this.data = data;}}创建二叉树操作类:package org.b
2015-04-14 11:36:35
381
原创 选择排序
一. 算法描述 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。以下面5个无序的数据为例:56 12 80 91 20(文中仅细化了第一趟的选择过程)
2015-04-10 16:24:37
377
原创 java实现快速排序
快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。 先看一下这幅图:把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理;交换了以后再和小的那端比,比它小不交换,比他大交换。这样循环往复
2015-04-09 14:20:04
349
原创 冒泡排序
public class SortTest { public void sort(int[] args){ for(int m : args){ System.out.print("排序前 "+args[m]+" "); } int time1 = 0,time2 = 0; for(int i = 0 ; i < args.length-1 ; i++){
2015-04-09 11:53:06
348
原创 常用的排序算法的时间复杂度和空间复杂度
常用的排序算法的时间复杂度和空间复杂度排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n
2015-04-09 10:58:19
436
原创 使用静态工厂方法的好处和坏处
一个模块的使用者永远也不应该被模块的行为所迷惑(那样就不清晰了),模块要尽可能的小,但又不能太小【术语模块(module):是指任何可重用的软件组件,从单个方法到包含多个包的复杂系统都可以是一个模块】。代码应该被重用,而不是拷贝,模块之间的相依性应该尽可能降低到最小,错误应该尽早被检测出来,理想的情况下是在编译的时刻。NO.1 考虑用静态工厂方法代替构造函数 静态工厂方法
2015-04-08 23:34:06
585
原创 Java 继承与组合的区别
根据网络上大家对继承和组合的讨论,我简单总结以下几点:1)组合(has-a)关系可以显式地获得被包含类(继承中称为父类)的对象,而继承(is-a)则是隐式地获得父类的对象,被包含类和父类对应,而组合外部类和子类对应。2)组合关系在运行期决定,而继承关系在编译期就已经决定了。3)组合是在组合类和被包含类之间的一种松耦合关系,而继承则是父类和子类之间的一种紧耦合关系。4
2015-04-08 23:31:44
363
WebService上传下载文件
2013-09-17
JQuery树形导航
2013-09-13
Struts_2+Spring_3+Hibernate整合开发.part1
2013-09-06
json jdk1.5 jar包
2013-08-26
webservice + spring + hibernate
2013-08-22
Maven搭建SpringMVC+Hibernate4(含二级缓存)项目
2017-07-03
javascript
2014-09-16
html5 css3实现下拉刷新、上拉分页,
2014-01-13
maven3 eclipse插件
2013-10-29
POI实战 java开发excel
2013-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人