【Spring学习01】Spring简介及第一个HelloWorld程序

    ------------------------------------------------纸上得来终觉浅,绝知此事要躬行----------------------------------------------

“对于Java程序员来说,这是一个很好的时代”

一、Spring简介

      Spring不是直译的春天,而是一个开源的框架,是为解决企业级应用开发的复杂性而创建的。

1、了解Spring的主要特性

      (1)Spring是一个非入侵框架,即使应用程序代码对框架的依赖最小化。在配置JavaBean时甚至可以不需要引用Spring API。

      (2)Spring提供了一种一致的,在任何环境下都可以使用的编程模型。该模型可以隔离应用程序代码和运行环境,以使代码对它们的依赖达到最小化。

      (3)提高代码重用性。讲应用程序中的某些代码抽象出来(一般在XML中配置),以便这些代码可以在其他程序中使用。

      (4)Spring可以使系统架构更容易选择,使应用每一层更容易替换。Spring的分层架构如下图所示:

               图中的分层架构目前可做简单了解,在后面的博客中,我会继续写到每一块容器的原理及用途。

2、Spring核心技术

      Spring 是一个 控制反转(IOC)、依赖注入(DI) 和面向切面编程(AOP)的容器框架.

      当一个对象需要另外一个对象时,在传统的设计过程中,往往需要通过调用者创建被调用者的对象实例。但在Spring中,创建被调用者的工作不再由调用者来完成,也就是说调用者被剥夺了创建被调用者的权力。因此,这种设计模式被称为控制反转。在控制反转模式下,一般被调用者的穿件是由Spring Ioc容器完成的,因此也称为依赖注入。

 

二、开发一个HelloWorld程序

      按照国际惯例,学习一门新的语言首先学的就是怎么输出一个HelloWorld,那么我们在学习Spring框架时,也先来开发一个HelloWorld程序。

首先需要在项目中导入以下核心j容器jar包,当然也可以选择maven方式。

接口 Hello.java

public interface Hello {
    String getGreeting();
}

实现HelloImpl.java

public class HelloImpl implements Hello {

    private String greeting;
    //greeting的属性的getter方法
    @Override
    public String getGreeting() {
        return "hello " + greeting;
    }
    //greeting的属性的setter方法
    public void setGreeting(String greeting) {
        this.greeting = greeting;
        System.out.println("设置greeting属性");
    }
}

 

配置bean:

 

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="hello" class="load.springDemo.HelloImpl" >
        <property name="greeting" value="许你长欢"></property>
    </bean>
</beans>

通过装配bean方式获得Hello对象

测试类HelloSpring.java文件

public class HelloSpring {
    public static void main(String[] args) {
        //装配applicationContext.xml文件
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        //获得被装配的Hello对象实例
        Hello hello = (Hello) context.getBean("hello");
        //输出greeting属性的值
        System.out.println(hello.getGreeting());
    }
}

 输出:

设置greeting属性
hello 许你长欢

 ------------------------------------------------纸上得来终觉浅,绝知此事要躬行-------------------------------------------------

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值