Spring学习笔记之HelloWord(一)

        spring几乎每个项目都用到了,然而自己也只是会用而已。所以决定重新捡起来学习一下spring,并且把自己的学习过程记录下来,只是整理而已,并非全部原创

spring是什么?

轻量级:spring是非侵入性的-也就是spring开发应用中的对象可以不依赖spring的API。

依赖注入(IOC):spring核心思想之一, spring提供了三种注入方式,set注入,构造方法注入,接口注入。

面向切面(AOP): spring核心思想之一。在面向对象编程(OOP)思想中,我们将事物纵向抽象成一个个的对象。而在面向切面编程中,我们将一个个对象某些类似的方面横向抽象成一个切面,对这个切面进行一些如权限验证,事物管理,记录日志等公用操作处理的过程就是面向切面编程的思想。

容器:可以把spring看做一个容器,因为它可以管理应用对象的生命周期。

框架:spring实现了使用简单的组件配置组合成一个复杂的应用,在spring中可以使用xml和java注解组合这些对象。

一站式:在IOC和AOP的基础上,spring可以整合各种优秀的框架(如springMVC,hibernate,mybatis等 后续再上整合demo)实际上spring自身也提供了展现层springMVC和和持久层JDBC。

HelloWorld

简单的了解之后,直接新建一个工程体验下,我这边使用的开发工具是myeclipse。

  1. 新建一个空的javaproject。

  2. 配置spring环境。

    配置过程 http://jingyan.baidu.com/article/2a138328a9b186074a134f2f.html

  3. 编写测试类

  4. 运行测试

程序结构如下

Spring学习笔记之HelloWord(一)_第1张图片

TestSpring.java的代码

package com.kaola.test;

public class TestSpring {
    /** 姓名 **/
    private String name;

    /** 年龄 **/
    private int age;

    public TestSpring() {
        System.out.println("created!");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        System.out.println("set!");
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "TestSpring [name=" + name + ", age=" + age + "]";
    }

    public TestSpring(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

}

applicationContext.xml 内容

<?xml version="1.0" encoding="UTF-8"?>
<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-3.1.xsd">

<bean id="testSpring" class="com.kaola.test.TestSpring">
     <property name="name" value="kaola"></property>
</bean>

</beans>

TestMain.java 内容

package com.kaola.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestMain {
    public static void main(String[] args) {

        // 创建IOC容器
         ApplicationContext cxt = new ClassPathXmlApplicationContext(new
         String[]{"applicationContext.xml"});
         TestSpring testSping = (TestSpring) cxt.getBean("testSpring");
         System.out.println(testSping); 
    }
}

运行结果:

结果分析:

从运行结果可以看出来  spring在创建bean的时候,用set注入的方法把值赋值给name了。

你可能感兴趣的:(spring,学习笔记,helloword)