美文网首页
Spring IOC和APO简介

Spring IOC和APO简介

作者: 零下的雨 | 来源:发表于2019-05-06 09:58 被阅读0次
image.png

SpringIOC代码详解:

首先要在src根目录下创建一个Spring.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="printA" class="com.yin.Springframework.printA">
        <property name="Message" value="DaoEHua"></property>
    </bean>
    <bean id="printB" class="com.yin.Springframework.printB">
        <property name="Message" value="DaoEXuan"></property>
        <property name="Phone" value="android"></property>
    </bean>
</beans>
image.png

创建一个接口,I_SpringIOC

package com.yin.Springframework;
/*
定义一个接口,规范print方法
 */
public interface I_SpringIOC {
    public void print();
}

创建两个类,printA,printB

package com.yin.Springframework;

//printA类继承I_SpringIOC接口
public class printA implements I_SpringIOC{
    //定义类的属性和Spring.xml中一致
    public String Message;


    //继承I_SpringIOC接口中的print方法,输出打印信息
    public void print(){
        System.out.println("this is printA");
        System.out.println("Message:"+Message);
    }
    //定义属性的get和set方法
    public String getMessage() {
        return Message;
    }

    public void setMessage(String message) {
        Message = message;
    }
}

package com.yin.Springframework;
//printB类继承I_SpringIOC接口
public class printB implements I_SpringIOC{
    //定义类的属性和Spring.xml中一致
    public String Message;
    public String Phone;

    //定义属性的get和set方法
    public String getPhone() {
        return Phone;
    }

    public void setPhone(String phone) {
        Phone = phone;
    }
    //继承I_SpringIOC接口中的print方法,输出打印信息
    public void print(){
        System.out.println("this is printB");
        System.out.println("Message:"+Message+",Phone:"+Phone);
    }
    public String getMessage() {
        return Message;
    }
    public void setMessage(String message) {
        Message = message;
    }
}

SpringIoc类:

package com.yin.Springframework;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.testng.annotations.Test;

public class SpringIoc {
    //把Spring.xml文件加载进来,要使用绝对路径,要不然找不到文件
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("file:D:/Springboot/MyApplicationthree/src/Spring.xml ");

    @Test
    public void run(){
        //获取bean文件,要强制转换成I_SpringIOC类型,才能使用该接口的print方法打印,要不然还需要重新new printB类
        I_SpringIOC i_springIOC = (I_SpringIOC)applicationContext.getBean("printB");
        i_springIOC.print();
    }
}

Spring.xml文件的路径要使用绝对路径,要不然找不到文件。

AOP

image.png

比如点击click一个元素是一个连接点,在点击click之前切入打印日志,在点击click之后切入打印日志,在运行中切入打印日志等,如果click是横向的操作,切入打印日志就是竖向的操作,这就是AOP的切面编程,拦截器。


image.png

相关文章

网友评论

      本文标题:Spring IOC和APO简介

      本文链接:https://www.haomeiwen.com/subject/timjdqtx.html