您的位置:首页 > 编程语言 > Java开发

spring mvc两大核心技术:1控制反转 2面向切面的编程

2016-05-25 23:07 585 查看
1控制反转就是:

1)调用某个类的一个方法,将该类引入成员变量,直接调用成员变量类的那个方法即可,不用new,spring mvc替你new了。

2)接口编程,你只调用接口的某个方法就行了。

有的工程使用spring mvc的控制反转水平比较低,其spring mvc框架只实现了1)。而有的工程控制反转水平高,其spring mvc框架实现了1)和2)。

1.1举个例子:

有这么个LoginAction类,它想调用AdminService的hello()方法的时候,不引入控制反转,需要自己new;引入控制反转,就不用自己new了,直接调用就行。

public class LoginAction extends ActionSupport

{
private AdminService adminService = null;
public String execute() throws Exception
{
//spring mvc的控制反转中,spring mvc就是提我们new了一下而已.那么目的是什么?实现了接口和实现的分离,使得调用接口时不用关注他是怎么实现的。

               //不引入控制反转
//开始
AdminService aa=new AdminServiceIMP();
String b=aa.hello();
System.out.println("##########################BBBBBBBBBBBB"+b);
//结束

               //引入控制反转
adminService.hello();//该种方式和//开始//结束之间的代码等效
}

其spring的配置文件中,控制反转的配置如下:

<bean name="login" class="com.example.struts.LoginAction">
<property name="adminService">
<ref local="AdminService" />

</property>

</bean>

<bean id="AdminService" class="com.example.service.AdminServiceIMP">

</bean>

AdminService接口和AdminServiceIMP实现类如下:

public interface AdminService

{

     String hello();

}

public class AdminServiceIMP implements AdminService

{
 public  String hello()
 {
 return "hello";
 }

}

2面向切面的编程

面向切面的编程,就是jf框架的@before字段。就是在一个类的某方法开始前或者结束后,插入一段代码,这样就可以在不动原来的代码基础上进行条件验证等操作。便于后期的程序扩展,这种扩展不用对之前的代码做修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: