spring学习笔记(1)

 spring是做什么用的?

简单的说它就是用来进行框架间无缝拼接的框架

简单解释如下

spring是一个从实际开发中提取出来的框架,他完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应

用相关的部分,从而大大提高企业应用的开发效率。spring位企业应用的开发提供了一个轻量级的解决方案。

该方案包括基于依赖注入的核心机制,基于AOP的声明式事务管理,与多种持久层技术的整合,一级优秀的

WEB MVC框架

spring贯穿表现层、业务层和持久层,然而spring不想替代那些已有的框架,而是以高度的开发性与他们无缝整合。

spring的优点:

1.代码污染低,侵入低

2.独立于各种应用服务器,实现了一次编写到处运行(write once,run anywhere)

3.spring的di机制降低了业务对象替换的复杂性

4.spring的高度开放型,并不强制应用完全依赖于spring,程序员可以自由选择是使用spring框架的全部还是

  部分

spring的下载站点

http://www.springframework.org

现在学习的是spring2.0 所以下载spring-framework-2.0-with-depencies.zip

安装解压后看到的目录如下

-aspectj==》该目录包含了spring支持AspectJ所需类的全部代码,也包含了相关测试用例文件

-dist== 》该目录下放的是spring的jar包,通常只需要spring.jar包即可

-docs==》该目录下包含spring的相关文档、开发指南、API参考文档

-lib==》该目录包含spring编译和运行所依赖的第三方类库,(注意:该目录下的类库并不是spring必须的,但是如果需要使用第三方类库的支持,这里的类库就是必须的)

-mock==》该目录包含spring测试框架中的几个mock类,一级对应的测试用例文件

-samples==》该目录包含spring的简单实例

-src==》该目录包含spring的全部源文件

-test==》该目录下包含的是spring的测试用例(可以作为spring入门的学习代码)

在WEB中应用Spring

一.让WEB应用支持spring,要做如下准备

     1.将dist目录下的spring.jar文件复制到web应用的WEB-INF/lib路径下

     2.将lib路径下的cglib、对哦魔戒、jakartacommons、log4j文件夹下的Jar文件复制web应用的web-

         inf/lib路径下

------------下面开始学习Spring的入门----------------------------

spring的核心机制

---------------------依赖注入(IOC)

看下面的小例子

定义一个接口Pesonif

public interface Pesonif{

  public void useGun();

}

定义第二个借口Gunif

public interface Gunif{

   public void fire();

}

定义一个person类

public class Person implements Personif{

  public Gun gun;

  public Person(){}

  public void setGun(Gun gun){

    this.gun = gun ;

  }

  public Gun getGun(){

      return gun;

  }

  public void useGun(){

        System.out.println("用"+gun.fire()+"!!!!");

   }

}

在创建一个Gun类

public class GunOne implements Gunif{

   public String gun_name;

   public GunOne(){}

   public String getGunName(){

       this.gun_name = "手枪"

   }

   public void fire(){

          System.out.println(getCunName()+"射击");

   }

}

在创建一个类

public class GunTwo implements Gunif{

   public String gun_name;

   public GunTwo(){}

   public String getGunName(){

       this.gun_name = "激光枪"

   }

   public void fire(){

          System.out.println(getCunName()+"射击");

   }

}

----------------

public class Test{

   public static void main(String[] args){

             GunOne gun = new GunOne();

              Person p = Person();

              p.setGun(gun);

             p.useGun();

  }

}

结果是     用手枪射击!!!

如果我们要给他换一把枪,我们就要在Test类中在new一个GunTwo,这样我们就只能用硬编码的形式固定他了

我们能不能不用new的方式,就把Gun给Person呢???(思考)

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值