whxh-SSM框架之Spring1.2 IOC控制反转

4 篇文章 0 订阅

Spring 1.2
IOC概述
2.1 什么是IOC Inversion of control
控制反转:创建对象的权利交给了spring容器
以前创建对象使用new ,使用spring不new了
2.2 案例
服务器有个接口,和一个实现类,调用接口的方法。

Spring实现
可以直接创建spring项目,但是jar包会在项目里面,体积过大
也可以创建maven项目 pom管理依赖
案例:
Spring 项目测试
(这里在IDEA中提供两种创建项目方式:Spring项目、Maven项目)

第一种:创建Spring项目

A 创建项目
在这里插入图片描述
创建后,自动下载jar包到项目,下载成功后,结构如图:
(可以查看spring项目相对maven项目庞大的多,故一般创建maven项目.)
在这里插入图片描述
B 创建接口、实现类
public interface UserService {
void saveUser();
}

public class UserServiceImpl implements UserService {
@Override
public void saveUser() {
System.out.println(“Spring 创建对象成功!Hello World!” );
}
}

C 创建xml文件
测试时:名称自定义(任意),位置任意。
开发时名称一般为ApplicationContext.xml 位置放在resources中

<?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">
<!--
    bean  :配置要被创建对象的类/配置由spring容器管理的类
    id:给bean取名,用于获取
    class:类的全限定名
-->
   <bean id="userServiceId" class="com.whxh.test1.UserServiceImpl">
   </bean>
</beans>

D 测试类
public class IOCTest {
@Test
public void iocTest(){
//创建spring容器
ApplicationContext applicationContext=new ClassPathXmlApplicationContext(“com/whxh/test1/beans1.xml”);
//获取对象
UserServiceImpl userService = applicationContext.getBean(“userServiceId”, UserServiceImpl.class);
userService.saveUser();
}
}
案例结构图:
在这里插入图片描述
所有文件可以放在src下的任意一个包(目录)下。
运行测试类。

第二种:创建Maven项目

A 创建项目
在这里插入图片描述
B 在pom.xml文件添加依赖
(spring四个核心依赖:beans/core/context/expression)

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.21.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.21.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.21.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>4.3.21.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>4.3.21.RELEASE</version>
  </dependency>
</dependencies>

C 编写代码测试
将刚才创建的spring项目的代码重新创建(或复制导入)
注意beans.xml文件放入resources资源目录下
在这里插入图片描述
运行测试类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰少2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值