spring Ioc 实践

了解过IoC的概念,没有真正实践,感觉还是会比较模糊。自己的实践虽然简单,但还是记录下呀~

1. 通过注解的方式注入service

1.1 controller中创建对象

@Controller
@RequestMapping("/account")
public class AccountController {

    private AccountService accountService;

    @Autowired
    public void setAccountService(AccountService accountService){
        this.accountService = accountService;
    }

    ...
}

  在调用service的地方,通过注释创建service对象。

1.2 定义service接口类

public interface AccountService {
    Account getAccountById(Integer accountId);
    ...
}

1.3 实现service接口类

@Service("accountService")
public class AccountServiceImpl implements AccountService{

    @Override
    public Account getAccountById(Integer accountId) {
        Account account = new Account();
        account.setAccountId(accountId);
        ...
        return account;
    }

 这样,就可以实现Service类的注入了。 

2. 通过注释的方式注入Dao

2.1 定义Dao接口的实现类

@Repository
public class BaseDaoImpl implements BaseDao {
    ...
}

 这是我的dao。

2.2 在service中调用创建Dao接口(类型为BaseDaoImpl) 实例

public class BaseServiceImpl implements BaseService {

 public BaseDao baseDao;
 @Autowired
 public void setBaseDao(){
 ...
 }
 ...
}

  

时间: 2024-10-15 13:18:37

spring Ioc 实践的相关文章

自我分析-Spring IOC在Web应用的启动和销毁

Spring IOC容器通过ServletContextListener对servlet容器的生命周期监听,从而实现了IOC的启动和销毁. 注意: 1.分析框架代码时,要常使用类继承.调用关系等快捷键,可以更高效的学习,快捷键可以设置成你习惯的按键: 2.本文重在怎么自我分析框架代码,所以对其中解析需自己实际跟踪代码实践方可: 3.spring源代码版本 spring-framework-3.2.1.RELEASE. 预览 javax.servlet.ServletContext,Servlet

[Spring框架]Spring IOC的原理及详解。

这里感谢 CSDN 的原博客:http://blog.csdn.net/m13666368773/article/details/7802126 看后  受益匪浅,这里再重温一遍Spring IOC 1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针.分针和秒针顺时针旋转,从而在表盘上产生

[Spring框架]Spring IOC的原理及详解

这里感谢 CSDN 的原博客:http://blog.csdn.net/m13666368773/article/details/7802126 看后  受益匪浅,这里再重温一遍Spring IOC 1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针.分针和秒针顺时针旋转,从而在表盘上产生

自我分析-Spring IOC

Spring IOC容器实现原理大致是容器(Map)+反射(Java反射和cglib).Spring提供丰富的ApplicationContext,以FileSystemXmlApplicationContext来分析IOC容器. 代码中大量使用设计模式-模板模式,若不清楚请先看看模板模式再来看具体分析.分析框架代码时要 多使用查看类继承和调用关系快捷键,快捷键可以设置,我是设置为F1和F4. 注意: 1.本文重在怎么自我分析框架代码,所以对其中解析需自己实际跟踪代码实践方可. 2.spring

Spring IOC 容器源码分析 - 填充属性到 bean 原始对象

1. 简介 本篇文章,我们来一起了解一下 Spring 是如何将配置文件中的属性值填充到 bean 对象中的.我在前面几篇文章中介绍过 Spring 创建 bean 的流程,即 Spring 先通过反射创建一个原始的 bean 对象,然后再向这个原始的 bean 对象中填充属性.对于填充属性这个过程,简单点来说,JavaBean 的每个属性通常都有 getter/setter 方法,我们可以直接调用 setter 方法将属性值设置进去.当然,这样做还是太简单了,填充属性的过程中还有许多事情要做.

Spring IoC/DI

前言 假设项目层次划分包括logic层和dao层,logic层调用dao层完成业务逻辑,dao层一般与数据库交互.定义两个组件,TestLogic和TestDao,分别操作接口ILogic和IDao,这样程序开发时需要考虑怎样管理这两个组件. 传统方式 这种方式中,当TestLogic组件需要调用TestDao组件时,直接使用关键字new IDao testDao = new TestDao(); 这种方式简单直观,但造成了对外部组件的严重依赖,程序高度耦合,效率低下.当项目需要更换组件时需要修

手把手教你实现Spring ioc

手把手教你实现Spring ioc "Don't call us, we'll call you(不要联系我,我会主动联系你)" 这是好莱坞很经典的一句话,应用在ioc(控制反转)领域,发现理解起来相得益彰--你作为用户不需要控制业务实体的生成,交给我容器来控制,这就是控制反转.不过,这样理解起来也有点麻烦,套用面向对象大师Martin Fowler的说法更为贴切: "Dependency Inversion(依赖注入)" 当容器中所有的实体bean 都被管理起来的

Spring IOC的实现

来源:知乎 https://www.zhihu.com/question/21035417/answer/142858103 著作权归作者所有. Spring IOC的实现部分,主要分为三个部分: 第一步: Resouce:首先我们需要获取beanDefinition的资源,我们将通过Spring的resource接口获得bean的资源,这一步也叫做bean资源的定位,下面是Spring内置的一些典型实现,当然,你也可以根据自己的需要实现自己的resource: ClassPathResourc

spring IOC

本节要点: IOC容器概述 IOC容器的工作原理 BeanFactory接口及常用实现类XmlBeanFactory ApplicationContext接口及常用实现类 BeanFactory和ApplicationContext的区别 1  IOC容器概述 Spring的IoC容器实现了控制反转,即在开发过程中,开发人员不需要关心容器是怎样的,也不需要调用容器的任何API.容器会自动进行被管理对象的初始化及对象之间依赖关系的维护. 在Spring中,最重要的是两个包,提供了IoC容器的基本功