JavaIOC框架篇之Spring Framework

欢迎查看Java开发之上帝之眼系列教程,若是您正在为Java后端庞大的体系所困扰,若是您正在为各类繁出不穷的技术和各类框架所迷茫,那么本系列文章将带您窥探Java庞大的体系。本系列教程但愿您能站在上帝的角度去观察(了解)Java体系。使Java的各类后端技术在你心中模块化;让你在工做中能将Java各个技术了然于心;可以即插即用。本篇咱们一块儿来了解SpringIOC相关知识以及其核心点

目前Java体系常见的IOC框架有Google Guice,PicoContainer,Dagger,Spring Framework,本篇来进行讲解Spring Framework的IOC(Spring IOC) 本篇示例代码下载html

1.什么是IOC?

IOC的意思就是控制反转(Inversion of Control),将原POJO内部管理其余对象的引用转换为IOC容器统一管理对象引用,在须要使用的时候从容器获取Bean便可。java

 
将对象交给IOC容器统一管理,是为了更好使用DI(Dependency Inject,依赖注入)进行POJO之间依赖关系的解耦。DI(Dependency Inject,依赖注入)即代码里对象之间的依赖关系转移到容器中进行装配,这样能很灵活地经过面向接口进行编程。

2.了解SpringIOC定位

首先咱们能够看到Spring4的庞大模块中(这里咱们不针对Spring模块逐一介绍,将会在第四章:Spring专栏进行特别介绍),IOC功能位于Spring核心容器(Core Container模块)中,也是Spring生态圈的全部模块中的核心支撑。git

3.快速使用Spring IOC

Spring的XML配置文件以下,这里使用XML配置文件的形式配置SpringBean(对于理解比较友好) 示例代码下载github

<?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-4.0.xsd">

    <bean class="com.leanspringioc.AdminUser" id="adminUser"/>
    <bean class="com.leanspringioc.VipUser" id="vipUser"/>

    <bean class="com.leanspringioc.TestIOC" id="testIOC">
        <property name="iUser" ref="vipUser"/>
    </bean>
</beans>
    /**
     * 在applicationContext.xml文件中向testIOCBean中注入vipUser和adminUser进行测试
     *
     * @param args
     */
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        TestIOC testIOC = (TestIOC) context.getBean("testIOC");
        testIOC.say();
    }

4.Spring IOC相关经常使用注解

自动扫描装配Bean的相关注解spring

  • @Component      将java类标记成一个Spring Bean组件
  • @Service    将业务层实现类标记成一个Spring Bean组件
  • @Controller    将表现层类标记成一个Spring Bean组件
  • @Repository    将一个持久层实现类标记成一个Spring Bean组件
做用域相关注解
  • @scope    用来指定bean的做用域,组件默认是单例的做用域,不使用单例则声明此注解

自动装配Bean相关注解编程

  • @Autowired    经过类型匹配,经过名称则须要Spring的@Qualifier注解配合
  • @Resource    根据Bean的名称去匹配,获取不到再根据类型

 

Java开发之上帝之眼系列教程其余文章

 
本篇部分资料来源以下(排名不分前后)
 

勘误&感谢

  本系列文章资料来源不少出自于互联网和在下自己的看法,受限于我的技术能力水平和其余相关知识的限制,相关看法错误或者资料引用错误请各位帮助留言校订!引用资料多来自于互联网,在下在引用前会遵循各位前辈或者博主的引用说明表示感谢,但互联网资料可能是转发再转发或存在遗漏请原做者内信联系指正。

相关文章
相关标签/搜索