- 浏览: 523802 次
- 性别:
- 来自: 北京
-
最新评论
-
Zhouchenyu:
谢谢
1、junit学习之junit的基本介绍 -
wenjieyatou:
1、junit学习之junit的基本介绍 -
huabengao:
不错 很好
1、junit学习之junit的基本介绍 -
prayjourney:
写的不错,很有启发!
1、junit学习之junit的基本介绍 -
wangzhenyu1260:
assertEqualspublic static void ...
1、junit学习之junit的基本介绍
文章列表
1、新建一个java的工程,导入spring需要的jar包与开发切面需要的jar包。
dist\spring.jar
lib\jakarta-commons\commons-logging.jar
如果使用了切面编程(AOP),还需要下列jar文件
lib/aspectj/aspectjweaver.jar和aspectjrt.jar
lib/cglib/cglib-nodep-2.1_3.jar
如果使用了JSR-250中的注解,如@Resource/@PostConstruct/@PreDestroy,还需要下列jar文件
lib\j2ee\common-annotations.jar
...
在上片文章里说了如何用jdk自带的类Proxy来实现代理,但是在使用Proxy时要注意:目录类必须实现接口,如果目标类没有实现接口的话,可以用cglib.jar类实现代理。
1、首先从网上找到cglib进行下载,我这里用的是cglib-nodep-2.1_3.jar
2、新建java项目 CGLIBAop
2、在项目中创建程的Person.java
package cn.ehoo.bean;
/**
* @author whp
* @Email whp@ehoo.cn
* @Jan 4, 2011
*
*/
public class Person {
priva ...
save、update、insert方法,只有在用户登录后才能对这些方法进行访问,如果没有登录则不允许对用户进行访问。
对于这个问题,我们不能在每个方法里对user进行判断,这样做不但增加程序重复代码的数量,还影响代码的美观
所以我们可以使用jdk为我们提供的Proyx来实现目录类,这样就会产生一个动态代理,在这个动态代理类里对user进行判断,如果user不为空,就把方法的调用接给目标类进行执行。
1、用户建一个java项目AOP。
2、在项目中创建程的Person.java
package cn.ehoo.bean;
/**
* @author whp
* @Email ...
主要看使用了多少服务.使用的服务越多.对于spring容器来说,不能单说是轻量的还是重量的.要看我们使用的spring容器服务的数量.如果我们只使用了spring核心服务则spring就是轻量级的.如果我们使用了spring的所有的功能,那么它就是重量级的.ejb是一个重量级的框架.它要使用ejb里的所有的服务.所以我们不能用软件的容量来按划分轻量级与重量级的概念.
a. 降低组件之间的耦合度,实现软件各层之间的解耦。如我们的PersonServiceBean类是一个服务层的类,我们就不应在里面有代码new PersonDao()类似的代码,因为PersonDao是一个业务层的代码.我们用了Spring后代码就不会出现new PersonDao()这样的代码了.
b. 不用再手工的控制事务.只要我们可以保证connection是同一个connection.那么它们一定是同一个事务.如果不使用spring对事务的操作会很麻烦,如果用spring进行管理我们可以在它的注解中加上一个注解,就可以保证两个方法在同一个事务中.:@Transactional(prop ...
在spring中bean一共有5个作用域。
1、singleton作用域
在每个Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。如:
<bean id="xxx" class="cn.ehoo.PersonServiceBean" lazy-init="true"/>
如果想对所有bean都应用延迟初始化,可以在根节点beans设置defa ...
1、新建一个Web程序
在程序中引入Spring所需要的jar包,我以前有弄好的包,包含了以下几个jar包
2、在src下新建Person.java的实例bean.
package cn.ehoo.bean;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public class Person {
private Long id;
private String userName;
public Long getId() {
return id;
}
public void ...
1、新建一个Web程序
在程序中引入Spring所需要的jar包,我以前有弄好的包,包含了以下几个jar包
2、在src下新建Person.java的实例bean.
package cn.ehoo.bean;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public class Person {
private Long id;
private String userName;
public Long getId() {
return id;
}
public void ...
在启动tomcat时经常会因为各种问题造成tocmat一闪而过。这时我们可以在cmd把startup.bat托入里面进行启动,这时可以找到startup.bat,用记事本打开startup.bat,在文件里面找到
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
然后把这段命令改成
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
这样就可以保证startup.bat启动后不会在一个新窗口中打开.