首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Spring筹建

2013-03-22 
Spring搭建Spring是一个比较成熟,并得到广泛应用的java框架,它的一个比较突出的特点就是网上所谓的控制反

Spring搭建
        Spring是一个比较成熟,并得到广泛应用的java框架,它的一个比较突出的特点就是网上所谓的控制反转,也就是面向接口的编程,面向抽象编程。
        Spring功能非常的强大,也有很多扩展的产品,如SpringMVC,spring-security等等,这里只介绍Spring的基础环境的搭建。

        首先还是引入Spring的jar文件:
spring.jar(Spring的核心jar文件)
commons-logging.jar(Spring的日志jar)

注:Spring还使用JavaEE的Annotation话需要引入:
common-annotations.jar(JavaEE的annotation的jar文件)
       然后就是配置文件,这个文件名字无所谓但是一般默认写成applicationContext.xml或者beans.xml,里面的内容在spring的帮助文档中能后找到,基本配置如下:



      然后在相应的bean类名上加上@Component或@Repository或@Service或@Controller,功能类似一般按照业务写不同的注解名,这样部署就又完成了。测试类main的写法同上。

      接着就是Spring的另一个突出应用AOP,也就是面向切面的编程,这种思想不是Spring所特有的,在JDK中也提供了相应的实现,就是用代理类Proxy,能够实现动态代理的需求,但是spring采用的aspectj框架,需要引入新的jar文件

aspectjrt.jar(aspectj框架)
aspectjweaver.jar(aspectj框架)

还要注意在需要代理的类没有实现任何接口的时候,spring并不能直接产生代理,需要解析字节码来生成代理类,所以还要引入:
cglib-nodep-2.1_3.jar(字节码解析jar)

       然后的按照提示建立切面类,并写上相应的注解,代码如下:
package com.test.spring.bean;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.springframework.stereotype.Component;@Aspect@Componentpublic class LogIntercepter {@Before("execution(public void com.test.spring.bean.UserDaoImp.saveUser())")public void before(){System.out.println("提前执行");}}


      如上面代码所示,这个会在UserDaoImp的saveUser方法之前调用,也就实现了aop功能。其中需要了解和注意的是,方法前面的@Before还有多种,具体按照需求查看文档能够得到,还有就是@Before内部的语法也是文档中有介绍的,注意的是可以用*星号代替一些名称,实现多个地方一起匹配切面方法。
       好了到这里Spring的基本搭建就完成了,当然Spring还有一些重要的应用配置如MVC,以及Spring对事物的管理等等,这里暂时不做研究,慢慢的会总结下来的。

热点排行