java spring例子_【java开发系列】—— spring简单入门示例

回顾

前言

作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已。这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转\依赖注入,和AOP面向切面编程。

1 控制反转IOC\依赖注入DI,因为翻译的不同,因此有两个名字。

控制反转意思就是说,当我们调用一个方法或者类时,不再有我们主动去创建这个类的对象,控制权交给别人(spring)。

依赖注入意思就是说,spring主动创建被调用类的对象,然后把这个对象注入到我们自己的类中,使得我们可以使用它。

举个简单的例子,程序猿加班了一个月,很累,想要放松下,于是去找人吃“麻辣烫”。

不使用spring的传统做法是,我们自己通过陌陌微信等神器,主动寻找目标,花费大量人力物力,达成协议后,申请“场所”办正事。

而使用spring的做法就很方便了,我们直接去某个场所,那个地方直接就有目标候着!

这是多么神奇的功能啊!

126775ed2bbefded7747c34d45d3bc67.png

(此图涉及暴力,18岁以下自行负责)

2 AOP面向切面编程

我们把一个方法看做是一个切面,在这个切面的前后或者周围,都可以设置其他的处理方法,进行一些特殊的处理。

比如一个“吃蛋糕”的方法,在这个方法前需要“拆包装”,方法后需要“打扫卫生”,都可以通过这种编程方式来实现。

那么下面看下它的编码过程!

1 首先我们需要一个bean,用某种方法(设置注入需要有setter函数,构造注入需要有构造函数,相应的bean.xml配置文件也会不同)设定注入方式。

2 bean.xml,设置bean与类的关系,并关联默认的注入值。

3 获取bean.xml文件,创建实例对象,直接调用方法。

可以看到,我们开发的程序只有第三步的“创建实例对象,直接调用方法”,并没有为他进行初始化等工作,就可以直接调用它的方法,获取它的值。其实spring在程序初始化的时候,就会为我们把bean对应的对象注入进来,帮助我们完成初始化,因此我们只要通过一个引用对象,就可以直接调用了。

最后我们写一个简单的依赖注入的小样例!

1 需要的jar包和文件结构

jar包下载地址:http://pan.baidu.com/s/1sjDbzrR

6dcbd05425ced0d98861be41f16fa7c5.png

2 bean.xml配置文件,放在src目录下

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns="http://www.springframework.org/schema/beans"

4 xsi:schemaLocation="http://www.springframework.org/schema/beans5 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

6

7

8

9

10

3 Person类,这里使用的是set设置注入方式

packagecom.test.bean;public classPerson {privateString name;private intage;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}public voidinfo(){

System.out.println("一起来吃麻辣烫!");

System.out.println("name:"+getName()+" age:"+getAge());

}

}

4 test类

packagetestSpring;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importcom.test.bean.Person;public classtest {public static voidmain(String[] args){

ApplicationContext ctx= new ClassPathXmlApplicationContext("bean.xml");//读取bean.xml中的内容

Person p= ctx.getBean("person",Person.class);//创建bean的引用对象

p.info();

}

}

5 执行结果

ede024b8b6eae54460d5a2678346b00b.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值