首页 > 技术文章 > Spring的AOP

MrTanJunCai 2018-11-06 09:46 原文

1 IoC

1.1 导入jar包

l 4 + 1 : 4个核心(beans、core、context、expression) + 1个依赖(commons-loggins...jar)

 

 

 

1.2 目标类

l 提供UserService接口和实现类

l 获得UserService实现类的实例

之前开发中,直接new一个对象即可。

学习spring之后,将由Spring创建对象实例--> IoC 控制反转(Inverse of Control)

之后需要实例对象时,从spring工厂(容器)中获得,需要将实现类的全限定名称配置到xml文件中

public interface UserService {

 

public void addUser();

 

}

 

public class UserServiceImpl implements UserService {

 

@Override

public void addUser() {

System.out.println("a_ico add user");

}

 

}

 

1.3 配置文件

l 位置:任意,开发中一般在classpath下(src)

l 名称:任意,开发中常用applicationContext.xml

l 内容:添加schema约束

约束文件位置:spring-framework-3.2.0.RELEASE\docs\spring-framework-reference\html\ xsd-config.html

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

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

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 配置service

<bean> 配置需要创建的对象

id :用于之后从spring容器获得实例时使用的

class :需要创建实例的全限定类名

-->

<bean id="userServiceId" class="com.itheima.a_ioc.UserServiceImpl"></bean>

</beans>

 

 

1.4 测试

@Test

public void demo02(){

//从spring容器获得

//1 获得容器

String xmlPath = "com/itheima/a_ioc/beans.xml";

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);

//2获得内容 --不需要自己new,都是从spring容器获得

UserService userService = (UserService) applicationContext.getBean("userServiceId");

userService.addUser();

 

}

 

推荐阅读