- 浏览: 12983 次
- 性别:
- 来自: 上海
-
最新评论
-
skcmm:
比如我是想让某下包下的所有doX方法代理,让doY方法不被代理 ...
AOP pointcut 表达式写法
文章列表
一、扎实的基础知识
1.java和面向对象
对象,类和类的实例以及资源的占用,流程和异常处理,静态,接口和抽象类,upcasting,downcasting,
java的数据结构,内部类,线程和并发,io、文件和网络
2.java数据库开发
jdbc,连接池,事务
3.web应用开发
html、javascript、jsp、servlet、ajax、xml、webservices
4.j2ee体系
ejb, spring, jms, 容器(tomcat,jboss,websphere,weblogi、、、)
二、基本网络知识
1.tcp/ip
2.http
3.局域网技术
4.互联网技术(防火墙 ...
1. 针对核心业务功能,业务流程 进行需求分析
2. 结合非功能需求设计软件架构
3. 为设计师讲解架构之间的交互机制,指导设计师设计
《Thinking in uml》笔记
1.确立业务目标
方法: a.内部发起人,意图与期望
b.外部因素,有什么东西刺激管理者提出此系统的建立
2.涉众分析
投资者,业务提出者,业务管理者,业务执行者,第三方(其他系统的交互),老板,法律法规
3.定义边界
从业务目标出发。
4.发现主角
分析涉众,得到直接与系统交互的涉众
5.获取用例
对主角进行访谈(期望,操作,目的与结果)
6.业务建模
a.根据 5 访谈结果形成业务用例
b.业务用例场景建模(活动图):用例的实现方式
c.业务用例实现。一个业务用例场景对应一个用例实现
...
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
注意点:
1. 不要随便更改取到的对象的属性值
2. 如果确实需要更改的话。需要先将对象从session中移除
session.evict(..)
J2EE总体的学习计划
第一部分:
JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固)
要求:对java的封装,生命周期等有一定的了解;
异常------掌 ...
<%@ include file="/common/taglibs.jsp" %>
<%@ page import="org.apache.log4j.Logger" %>
<%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %>
<title>Data Acces ...
1. 采用需求采集卡方式。记录项目名称,时间,地点,采访人员,被采访人员,需求编号, 需求描述等
2. 采用用户故事卡(敏捷开发?)
3. 采用用例图和用例概述(需求分析阶段采用用例规约)
1.或者
<aop:pointcut id="logPointcut" expression="execution(* *..service.*Manager.*(..)) or execution(* *..dao.*Dao.*(..))"/>
2.并且
<aop:pointcut id="logPointcut" expression="execution(* *..service.*Manager.*(..)) and not execution(* *..service.*Manager.get*( ...
1. 添加日志包
log4j-1.2.13.jar
2.程序
import org.aspectj.lang.JoinPoint;
import org.apache.log4j.Logger; //不要被地方的类所混淆
/**
* description
* @author lzhang
*/
public class LogBeforeAdvice {
private static Logger log = Logger.getLogger(LogBeforeAdvice.class);
public void before(JoinPoint joinPoint) {
...
1. struts1
aciton 采用单例模式 线程是不安全的,但实际开发时用到一般都是局部变量,所以不用考虑线程安全的问题。
2. struts2
在与spring联合使用时。如果action通过spring注入的话需要加入<beascope="prototype"> 因为spring的注入默认是单例的(scope="singleton")
如果action不通过spring注入则是对应每一个请求产生一个实例。不存在线程安全问题
1. 通过判断
private Singleton(){}
private static Singleton instance = null;
public static Singleton getInstance(){
if (instance == null){
instance = new Singleton();
}
return instance;
}
2. 使用静态成员变量
private Singleton(){}
private static Si ...
工厂方法模式:
一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类可以创建多个具体产品类的实例。
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。