发表于: 2017-05-04 22:20:58
1 1309
今天看了有关log4j的资料,尝试着自己写,先导入了需要的jar包,然后拷贝了师兄的log4j文件,并做了相关修改。
等师兄看是否需要修改,还有哪里有问题。
参考资料:http://www.codeceo.com/article/log4j-usage.html
看了有关连接池的资料,连接池的作用是:数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,
当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数
据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。
传统的数据库连接方式:
简单的获取一个连接,系统却要在背后做很多消耗资源的事情,大多时候,创建连接的时间比执行sql语句的时间还要长。
用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长,容易造成极大的浪费数据库的资源,
并且极易造成数据库服务器内存溢出、拓机。
因此采用如下连接池方式:
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现的尤为突出。对数据库连接的管理能显著
影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池负责分配,管理和释放数据库连接,它允许应
用程序重复使用一个现有的数据库连接,而不是重新建立一个。
有以下几种连接池:
Tomcat连接池:
Tomcat默认使用的是DBCP数据库连接池,其实从本质上讲,Tomcat是利用Apache Commons DBCP来实现的,只不过把特定的功能集成到了tomcat-dbcp.jar包中
DBCP连接池:
DBCP 是 Apache 软件基金组织下的开源连接池实现,要使用DBCP数据源,需要应用程序应在系统中增加如下两个 jar 文件:
Tomcat 的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。
C3P0连接池:
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0一般是与Hibernate,Spring等框架一块使用的,当然也可以单独使用。
dbcp没有自动回收空闲连接的功能,c3p0有自动回收空闲连接功能。
使用c3p0需要导入c3p0.jar、mchange-commons-.jar,如果操作的是Oracle数据库,那么还需要导入c3p0-oracle-thin-extras-pre1.jar。
在这里主要需要学习的是最后一种连接池。
Log4j:
基本的使用方法已经掌握,但是程序里面还是出了点小问题,争取明天解决。。
今天的最后一个任务是学习简化bean.xml配置文件:让spring自动扫描和管理bean。
和以往一样需要引入适当的命名空间以及
<context:component-scan base-package="com.yihaomen"/>
在这里component-scan是指主键扫描,base-package是要扫描的包(包括包下的类以及子包)
扫描的时候将会扫描类路径下标注了@Component,@Service,@Controller,@Repository注解的类,并将这些类纳入spring容器中管理。(就不需要想往常一样给bean配置一堆乱七八糟的东东。。。个人理解)
@Service:标注业务层组件;
@Controller:用于标注控制层组件(如struts中的action,虽然我也不知道Struts是啥。。。)
@Repository:用于标注数据库访问,即DAO组件;
@Component:泛指组件,组件不好归类的时候用这个。。。
@Scope:指定作用域;
还介绍了初始化方法和关闭资源的注解(@POSTConstruct和@PreDestroy)
具体的暂时还没有实践。。。
明天的任务:完成log4j的应用;学完junit。
评论