Spring学习(二)--IOC

2018-08-02 05:53:21来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、什么是IOC?

  孤傲苍狼总结的理解:

  https://www.cnblogs.com/xdp-gacl/p/4249939.html

 

  我的理解(不知道对不对哈,不对的话请各位大神指出):

  IOC往大了说是一种设计思想,往小了说就是一个容器。

    这个容器里装着所有被标记过的类(最常见的有serviceImpl,daoImpl),然后这个容器里有封装好的方法去控制这些类的实例的创建,再然后我们要用这些类的实例的时候给声明的实例标记一下就可以了。

    这种设计思想就是“控制反转”。就是从我们直接管理对象反转成由ioc容器管理对象,我们需要的时候直接从ioc容器里拿对象。

 

二、为什么要用IOC?

  因为IOC实现了组件之间的解耦!!!

 

三、IOC有啥缺点?

  呵呵,感觉除了让新手难以理解外,就没有缺点了。

 

四、IOC怎么用?

  IOC是个容器,里面需要装有我们项目里用到的所有类的实例化对象,这些对象统称为Bean。

  IOC容器通过XML配置文件和注解去管理这些Bean。

  用到的XML配置文件就是Spring的配置文件,我们配置IOC只需要在里面添加两行信息即可。XML配置信息如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 7     http://www.springframework.org/schema/aop
 8     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
 9     http://www.springframework.org/schema/context
10     http://www.springframework.org/schema/context/spring-context-3.0.xsd">
11 
12     <description>spring基础配置</description>
13 
14     <!-- 提供对@Required,@Autowired以及JSR 250'的@Resource注解的支持 -->
15     <context:annotation-config />
16     <!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
17     <context:component-scan base-package="com.test" />
18     
19 </beans>

 

   然后我们在创建类的时候加个注册Bean的注解,在使用类的对象的时候加个使用Bean的注解,就是在用ioc了。

  Spring与IOC有关的注解如下:

  https://blog.csdn.net/achenyuan/article/details/72786759

  注册Bean的常用注解:

  @Configuration,@Controller,@Service, @Repository,@Component

  使用Bean的常用注解:

  @Required,@Autowired,@Qualifier,@Primary,@Bean

   

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Handler dispatch failed; nested exception is java.lang.NoCla

下一篇:java常用API之DateFormat