Spring基础学习,附例子代码讲解

什么是Spring、IOC、AOP、DI?

    Spring是一个基于IOC和AOP的结构J2EE系统的框架。

    IOC(Inversion Of Control)控制反转(Spring的基础,创造对象由以前的程序员new构造方法来调用,变成交由Spring创建对象)

    AOP(Aspect Oriented Programming)面向切面编程

    DI(Dependency Injection)依赖注入(简单来说就是拿到了对象的属性,已经注入好相关值了,直接使用即可)

#第一部分:IOC、DI

1、首先创建一个pojo包,里面有个Product.java

pack com.test.pojo

import ......

public class Product {
    private String name;

    public void setName(String name) {
        this.name=name;
    }
    public String getName() {
        return name;
    }
}

2、在applicationContext.xml中配置Product的属性

<?xml>
<beans ......>
    <bean name="p" class="com.test.pojo.Product">
        <property name="name" value="天地一号">
    </bean>
</beans>

3、测试类测试是否运行成功

package com.test.test;

import com.test.pojo.Product;

public class TestSpring{
    ApplicationContext context = new ClassPathXmlApplicationContext(new String [] {"applicationContext.xml"});
    Product p = (Product) context.getBean("p");
    System.out.println(p.getName()); // 输出: 天地一号
}

 

扫描二维码关注公众号,回复: 2312995 查看本文章

#第二部分:注入对象

1、在刚刚的基础基础之上,创建一个Category.java

pack com.test.pojo

import ......

public class Category{
    private String name;

    public void setName(String name) {
        this.name=name;
    }
    public String getName() {
        return name;
    }
}

2、在applicationContext.xml中追加配置Category这个bean对象

<?xml>
<beans ......>
    <bean name="p" class="com.test.pojo.Product">
        <property name="name" value="天地一号" >
        <property name="category" ref="c">     <!--DI体现:注入Category这个bean对象-->
    </bean>
    <bean name="c" class="com.test.pojo.Category">
        <property name="name" value="饮料类别">
    </bean>
</beans>

3、测试类测试是否运行成功

package com.test.test;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
// 注意,这里虽然用到了Category这个对象,但是不用导入包,因为在xml配置文件里面,早已经把Category注入到了Product这个bean对象当中!!!
import com.how2java.pojo.Product;
 
public class TestSpring {
 
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationContext.xml" });
 
        Product p = (Product) context.getBean("p");
 
        System.out.println(p.getName()); // 输出:天地一号
        System.out.println(p.getCategory().getName()); // 输出:饮料类别
    }
}

#第三部分:注解方式

  

猜你喜欢

转载自www.cnblogs.com/pengshengguang/p/9351892.html
今日推荐