Spring资源加载
关于Spring的资源加载的问题我们常常会有些疑惑,就是家在路径的问题。现在我来总结一下资源加载的常用的一下东西。资源类型的地址前缀
classpath:从类路径中家在资源classpath:和classpath:/是等价的,都是相对于类的根路径,资源文件可以再标准的文件系统中,也可以在jar或者zip的类包中
.file:使用UrlResource从文件系统中加载资源采用绝对或者相对路径。
http://使用UrlResource从Web服务器中加载资源。
ftp://使用UrlResource从Ftp服务器上加载资源。
没有前缀。根据ApplicationContext具体实现采用对应的类型Resource.
关于Spring的AOP知识点说明
1、连接点(Joinpoint)
程序执行的某个特定位置:如类的开始初始化前,类初始化后、类某个方法初始化前、调用方法后、方法抛出异常后。一个类或一段程序代码拥有一些具有便捷性质的特定点,这些代码中的特定点就成为连接点。Spring仅支持方法的连接点,即仅能在方法调用前、方法调用后、方法抛出异常时以及方法调用前后这些程序执行点植入增强。
2、切点(Pointcut)
每个程序类都拥有多个连接点,如一个拥有两个方法的类,这两个方法都是连接点,即连接点是客观存在的事物,但在这为数众多的连接点中,如何定位到某个感兴趣的连接点上呢?AOP通过切点定位特点连接点。
3、增强(Advice)
增强是植入到目标连接点上的一段程序代码。
4、目标对象(Target)
增强逻辑的植入目标类。
5、引介(Introduction)
音节是一种特殊的增强,他味蕾添加一些属性和方法。
6、织入(Weaving)
织入是将增强添加对目标类具体链接点上的过程,AOP像一台织布机,将目标类、增强或者引介通过AOP这个织布机天机无缝的便知道一起。
AOP有三种织入方式:
1、编译期植入,这要求使用特殊的Java编译器
2、类装载期织入,这要求使用特殊的类装载器,
3、动态代理植入,在运行期为目标类添加增强生成子类的方式。
7、代理(Proxy)
一个类呗AOP植入增强后纠缠除了一个结果类,他是融合了原类和增强逻辑的代理类。根据不同的代理方式,代理类极可能是和元类具有相同的接口的类,也可能就是原类的子类。
8、切面(Aspect)
切面有且点和增强组成,它既包括了横切逻辑的定义,也包括了连接点的定义,SpringAop就是负责实施切面的框架,他将切面所定义的和企鹅逻辑值如到切面所指定的连接点中
2013-2-21
今天上午怎么发现在Spring的同一个配置文件中同时引入多个properties属性文件处错误,而且不能同时引入多个属性文件吗?
2013-2-26
今天上午在用Spring框架的时候前端应用了jstl标签。使用了循环<c:forEach>标签
在<c:forEach items="${list}" var="list"></c:forEach>注意标红的位置,假如不加${}符号则会默认是一个list字符串。而不是一个变量。在这里不要跟Struts的标签给混了,Struts的<s:iterator>标签可以不加${}他可以自动匹配。请谨记。
这据代码是在浏览器上显示网页上的 标签
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">Servlet拦截匹配规则可以自已定义,Servlet拦截哪种URL合适?
当映射为@RequestMapping("/user/add")时:
1、拦截*.do,例如:/user/add.do,弊端:所有的url都要以.do结尾。不会影响访问静态文件。
2、拦截/app/*,例如:/app/user/add,弊端:请求的url都要包含/app,@RequestMapping("/user/add")中不须要包含/app。
3、拦截/,例如:/user/add,弊端:对jpg,js,css静态文件的访问也被拦截不能正常显示。后面有解决办法。
4、拦截/*,可以走到Action中,但转发到jsp时再次被拦截,不能访问到jsp。
<context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:
@Controller 声明Action组件
@Service 声明Service组件 @Service("myMovieLister")
@Repository 声明Dao组件
@Component 泛指组件, 当不好归类时.
@RequestMapping("/menu") 请求映射
@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")
@Autowired 用于注入,(srping提供的) 默认按类型装配
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype") 设定bean的作用域