zoukankan      html  css  js  c++  java
  • Spring入门

    一:Spring 简介

    1.Spring的处理开销非常的小,并且是非侵入式的(允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口),

    2.Spring提倡使用依赖注入(IoC)来实现耦合,当我们需要bean对象时,从Spring容器中获得,而不是通过以前的new 方式来实例化对象。降低耦合。

    3.Spring是一个容器,它包含并且管理系统对象的生命周期和配置。

    二:IoC容器

    1.bean工厂(BeanFactory)

    2.Application Context(上下文)

    这两种容器都能实现IoC,他们将系统的配置和依赖关系从代码中独立出来。但二者也有不同,前者在加载时,会将所有的bean组件实例化,需要更多的系统开销,但是在后期运行时就会比较快了。后者只有在我们用到这个对象时,才会去实例化。

    三:Spring小实例

    1.创建应用接口

    package com.wode.spring.hello
    public
    interface ISayHello{ void say(); }

    2.创建应用接口实现类

    package com.wode.spring.hello
    public
    class SayHelloImpl implements ISayHello{ private String msg; public SayHelloImpl(){}; public void say(){ System.out.println(msg); } public void setMsg(String msg){ this.msg=msg; } }

    3.创建Spring的配置文件

    <beans>
        <bean id="sayHello" class="com.wode.spring.hello.SayHelloImpl">
             <property name="msg">
                <value>hello world<value>
             <property>
        <bean>
    <beans>

    一个<bean>元素其实就是代表了一个Java类。id是Spring所认识的唯一的标识符,也代表了sayHelloBean的名字,class表示它的全路径。由于sayHelloBean中提供了set方法,其中的value就是通过调用这个方法进行赋值,这种方法又叫set注入。


    4.创建测试类

    public class sayHelloWorld{
          public static void main(String[] args)
               BeanFactory fac=new XmlBeanFactory(new FileSyatemResource("spring.xml"));
               ISayHello s=(ISayHello) fac.getBean("sayHello");
    }

    上面所有代码可以看出,我们没有并没有在类中去new对象,而是通过反射将配置文件加载到容器中,容器将xml文件中配置的bean生成Java对象,将一个字符串通过set注入到对象属性中。在测试类中,BeanFactory的getBean方法得到SayHelloImpl实现类的引用。这个小实例是Spring中使用和配置一个类的基本知识。

    四:Spring的核心1——IoC(控制反转,依赖注入)

    优点. 因为对象生成是在xml中完成,当我们需要更换实现子类时只需要到xml中修改即可。

    最基本的Java技术:反射。IoC不是一种技术,而是一个解决组件间依赖关系,配置和生命周期的设计模式。

    1.BeanFactory采用了工厂设计模式,创建和分发各种类型的bean。最常见的是使用XmlBeanFactory.例如:

    ISayHello   s=(ISayHello )new XmlBeanFactory(new FileInputStream("spring.xml"))

    2.应用上下文(ApplicationContext)
    在他的所有实现类中,我们一般用到2个类:ClassPathXmlApplication 和FileSystemXmlApplicationContext

    在上面两种容器中,我们用到最多的是第二种,因为他提供了更多的功能。

    3.装配Bean

    <bean id="xm" class="com.wode.map">  这仅仅是在xml文件中定义了一个bean。

    下面我们将进行注入设置。通常的方法有2种:set注入和构造器注入。

  • 相关阅读:
    初级模拟电路:8-1 运算放大器概述
    初级模拟电路:6-1 FET概述
    初级模拟电路:5-5 甲乙类功率放大器
    初级模拟电路:5-4 乙类功率放大器
    初级模拟电路:5-3 变压器耦合型甲类功放
    初级模拟电路:5-2 串馈型甲类功放
    μC/OS-II系统中事件标志的使用
    STM32-SPI读写外部FLASH(W25Q64)
    STM32-定时器输出比较模式输出方波(DMA方式)
    STM32-定时器输出比较模式输出方波(中断方式)
  • 原文地址:https://www.cnblogs.com/Kevin-Ma/p/5686790.html
Copyright © 2011-2022 走看看