SSM之Spring框架(IOC)

 Spring支持IOC(控制反转),DI(依赖注入),AOP(面向切面编程)

IOC:控制对象的创建权,将对象的创建权交给Spring容器;

DI:将对象注入Spring容器中便于获取对象;

AOP:面向切面编程,它是OOP(面向对象编程)的一种补充,主要作用是对方法进行增强;

为什么要用Spring来帮助我们管理对象?

当我们正常创建对象时,会产生耦合现象。什么是耦合现象呢,加入当项目部署到服务器时,代码在运行时,会变成class文件,假设一段时间后,不需要调用这个对象,而是另一个对象,这样修改会很麻烦,这是Spring的作用就体现出来了,用Spring来帮助我们创建对象,管理对象,这样就不会产生耦合,那么该如何去使用呢?

1、导入对应坐标

//spring坐标

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.5.RELEASE</version>
</dependency>
    

2、准备配置文件

在resources目录下创建applicationContext.xml配置文件

3、依赖注入

在applicationContext.xml中进行依赖注入

<bean class="com.NEPU.user" id="user"></bean>

4、加载配置文件,获取user对象

ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
app.getBean(user);//对象的id
user.A();//调用对象里的方法                

但如果是多级调用呢?

实际开发中,每个包都有不同的职责,web层调用service层,service层调用dao层,这时该如何创建呢?

我们不能创建多个容器,这样太占内存了

只需要在web层创建一次容器,将service,dao层中对象注入容器,先获取service层中对象

         //创建容器
      ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml") ;
        //从容器中获取对象
      UserService userService = (UserService) app.getBean("userService");
        //调用方法
      userService.service();

这样只是获取service层对象,dao层如何获取?

在UserService对象中定义一个UserDao类型的成员变量(上一步将dao中对象注入容器中,容器中有这个类型的对象),在xml文件中对这个成员进行注入赋值:

<bean class="com.NEPU.service.UserService" id="userService">
    <property name="UserDao" ref="userDao"></property><!--        赋值操作-->
</bean>
<bean class="com.NEPU.Dao.UserDao" id="userDao"></bean>

这时,会将Spring容器中的userDao对象的值赋给该成员变量,可以调用其中方法。

,本文章只是作者对Spring的理解,希望能帮助到大家,后续还会接着更新

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值