`

Spring的IOC容器

    博客分类:
  • java
阅读更多
(本文为自己书写,如有错误,请指正,大家共同进步,谢谢。)


Spring的IOC容器

1。Spring的IOC容器是一个提供IOC支持的轻量级的容器,为我们提供两种容器:BeanFactory和ApplicationContext。
  BeanFactory是基础类型的IOC容器。ApplicationContext是以BeanFactory为基础构建的。
2。深入理解依赖注入
依赖注入(DI)也被称为控制反转(IoC)。
3。依赖注入的三种实现方式:
A:设置注入:(setter-无参的构造器实现)--->为主
B:构造方法注入--->为辅
C:接口注入(不常用)
<代码如下:>
package com.decophering.dao.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
public class UserDaoImpl implements UserDao {
public void save(User user) {
System.out.println(user.getUsername() + "save in Oracle ! ");
System.out.println(user.getPassword() + "save in DB2 ! ");
}

}

package com.decophering.dao;
import com.decophering.model.User;
public interface UserDao {
public void save(User user);
}

package com.decophering.model;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}

package com.decophering.service.impl;
import com.decophering.dao.UserDao;
import com.decophering.model.User;
import com.decophering.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao dao;
public void add(User user) {
dao.save(user);

}
public UserDao getDao() {
return dao;
}
public void setDao(UserDao dao) {
this.dao = dao;
}
public UserServiceImpl (UserDao dao){
super();
this.dao = dao;
}
}

package com.decophering.service;
import com.decophering.model.User;
public interface UserService {
public void add(User user);
}

package com.decophering.service;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.decophering.model.User;
public class UserServiceTest {
@Test
public void testAdd() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService service = (UserService) context.getBean("UserService");
User u = new User();
u.setUsername("测试用户; ");
u.setPassword("111111; ");
service.add(u);
System.out.println(u.getUsername() + "\n" + u.getPassword());
}

}

<!--xml-->
<bean id="u" class="com.decophering.dao.impl.UserDaoImpl"></bean>
<bean id="UserService" class="com.decophering.service.impl.UserServiceImpl">
      <!--     <property name="dao">
<ref bean="u"></ref>
</property>
-->
<constructor-arg>
<ref bean="u"></ref>
</constructor-arg>
</bean>

//输出结果
测试用户; save in Oracle !
111111; save in DB2 !
测试用户;
111111;


4。配置Bean的属性和依赖关系
Bean的配置:
a.定义Bean:IoC容器管理一或多个Bean,这些均在XML文件中提供的Bean的配置进行创建
包括:
id(唯一的),
name:名称(可以一个,或者多个),
class:Bean的具体实现类(包名+类名)。
b.Bean的依赖注入有两种表现方式:
(1)属性:<property/>对应是设置注入
(2)构造器参数:通过<constructor-arg/>对应构造注入





















分享到:
评论

相关推荐

    spring Ioc容器配置

    spring Ioc容器配置 IOC容器数据源配置 &lt;!-- 配置数据源 --&gt; destroy-method="close"&gt; &lt;value&gt;org.gjt.mm.mysql.Driver &lt;value&gt;jdbc:mysql://localhost:3306/demo &lt;value&gt;root ...

    Spring IOC容器实现分析.pdf 下载

    《Spring IOC容器实现分析》 在Java开发领域,Spring框架无疑是使用最为广泛的轻量级框架之一,其中的核心组件就是IOC(Inversion of Control)容器。本文将深入剖析Spring的IOC容器,理解其工作原理和重要功能,以...

    Spring IoC容器实现的结构分析

    Spring IoC容器是Spring框架的核心,它负责管理应用对象的生命周期和依赖关系。通过对IoC(Inversion of Control,控制反转)的实现,Spring容器将对象的创建和组装工作从应用代码中分离出来,使得应用更易于测试和...

    手写一个SpringIoc容器

    本项目"手写一个SpringIoc容器"旨在模仿Spring的IOC(Inversion of Control,控制反转)功能,帮助开发者深入理解Spring的工作原理,提升对依赖注入(Dependency Injection)模式的认识。 在实现自定义的Spring IOC...

    Java-Spring-SpringIoC容器-SpringIoC的学习

    在Java Spring框架中,Spring IoC(Inversion of Control,控制反转)是核心特性之一,它使得应用程序的组件之间的依赖关系不再由代码直接管理,而是交由Spring IoC容器负责。这种设计模式降低了代码间的耦合,提高...

    spring ioc和aop原理流程图(详细)

    以下是Spring IOC容器的主要知识点: 1. **Bean的定义**:在Spring中,业务对象被称为Bean。Bean定义包含了创建和管理Bean的所有信息,如类名、属性值、依赖关系等,通常通过XML、注解或Java配置来定义。 2. **...

    教你写Spring IOC容器.wps

    自己动手实现Spring IoC容器, 写Spring IOC容器.wps写Spring IOC容器.wps写Spring IOC容器.wps

    详解Spring IOC 容器启动流程分析

    Spring IOC 容器启动流程分析 Spring IOC 容器是 Java 企业级应用程序的核心组件之一,它提供了一个统一的依赖注入机制,使得应用程序的组件之间能够松耦合。Spring IOC 容器的启动流程是整个 Spring 框架的核心...

    Spring IOC容器应用实例

    **Spring IOC 容器应用实例** Spring 框架的核心组件之一是 Inversion of Control (IoC) 容器,也常被称为依赖注入(Dependency Injection)容器。IoC 是一种设计模式,它将对象的创建和管理从应用程序的业务逻辑中...

    spring ioc容器部署实现

    ### Spring IoC容器部署实现详解 #### 一、Spring IoC容器概述 Spring框架的核心特性之一就是Inversion of Control(IoC),也被称为Dependency Injection(DI)。IoC容器是Spring框架的重要组成部分,它负责管理...

    spring IOC容器依赖注入XML配置

    在本教程中,我们将深入探讨如何通过XML配置在Spring IOC容器中实现依赖注入。 首先,我们需要了解Spring的IOC容器。IOC容器是Spring的核心,它负责管理对象的生命周期和对象间的依赖关系。容器通过读取XML配置文件...

    Spring的IoC容器初始化源码解析

    ### Spring的IoC容器初始化源码解析 #### 一、Spring框架的核心——IoC容器 Spring框架是一个开源的轻量级Java开发框架,其核心功能是IoC(Inversion of Control,控制反转)容器和AOP(Aspect Oriented ...

    简单模拟springIoc容器

    IoC容器是Spring实现这一理念的重要工具,它负责管理对象的生命周期和对象之间的依赖关系。本教程将通过一个简单的模拟来帮助你快速理解Spring的IoC容器。 首先,我们要了解IoC的基本概念。IoC是指应用程序的控制...

    Spring IOC容器实现分析

    ### Spring IOC容器实现分析 #### 一、Spring IOC容器概览 Spring框架作为一款轻量级的开源框架,其核心之一便是IOC(Inversion of Control)容器。该容器的主要功能在于管理和控制对象间的依赖关系,使得开发人员...

    仿spring ioc 容器

    "仿spring ioc 容器"这个主题,旨在探讨如何理解和实现类似于Spring框架中的IoC容器的功能。 IoC容器是Spring的核心,它负责创建对象、管理对象间的依赖关系以及对象的生命周期。在Spring中,IoC使得开发者不再需要...

    Spring实现一个简单的SpringIOC容器

    本文将深入探讨如何实现一个简单的Spring IOC容器,以及涉及的主要知识点。 首先,控制反转是一种设计模式,它将对象的创建和管理从对象本身转移到一个外部容器,即IOC容器。Spring的IOC容器通过读取配置文件(如...

    Spring中IoC优点与缺点解析

    IoC(Inversion of Control)是 Spring 框架中的一种设计模式,它的主要思想是将对象的创建和管理交给容器,从而解耦合对象之间的依赖关系。今天,我们将详细解析 IoC 的优点和缺点。 优点 1. 简化对象的创建:IoC ...

    springIoc实现原理

    Spring Ioc容器是整个Spring框架的基石,它负责创建、配置和管理对象。容器通过读取XML、Java注解或Java配置类等方式,获取对象的定义信息,然后根据这些信息实例化对象并进行依赖注入。 **三、依赖注入(DI,...

    SpringIOC容器对Bean管理的相关案例

    SpringIOC容器对Bean管理的相关案例

Global site tag (gtag.js) - Google Analytics