Spring基础学习-(1)Spring基础知识

本文详细介绍了Spring框架的优点,包括解耦简化开发、支持AOP编程、声明式事务管理等。同时阐述了Spring的体系结构,涉及IOC、AOP、数据访问等关键模块,并提供了IOC容器中依赖注入的具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提到Spring,根据自我理解跟各种资料先提到的就是IOC与AOP,即控制反转与面向切面,提供MVC及JDBC以及事务管理的技术,并容易与其他的框架整合。

一、Spring的优点

1、方便解耦,简化开发。通过Spring提供的IOC容器,可以将对象之间的依赖关系交由Spring进行控制,避免代码造成的过度耦合。

2、AOP编程的支持。通过Spring的AOP功能,方便进行面向切面编程。

3、声明式事物支持。通过声明方式进行事物管理,提高开发效率和质量。

4、方便程序的测试。可以用非容器依赖的编程方式进行几乎所有的测试工作。

5、方便集成各种优秀框架。Spring提供对各种框架的直接支持。

6、降低JavaEE API的使用难度。

7、Java源码是经典的学习范例。

二、Spring的体系结构

1、IOC

将类与类的关系从代码中脱离出来,用配置的方式进行依赖关系描述。BeanFactory接口是Sping框架的核心接口,实现容器的核心功能。Context模块构建于核心模块之上,扩展BeanFactory的功能。ApplicationContext接口是Context模块的核心接口。

2、AOP模块

3、数据访问和集成

4、Web及远程操作

该模块建立在Application Context模块之上,提供Web应用的各种工具类。

5、Web及远程访问

提供一个完成的类似Struts的MVC框架。

三、IOC

给出IOC三种注入的类型。

首先的有接口,然后有类继承接口。

public interface Person {
    void sayHello();
}
public class Chinese implements Person{
	public void sayHello() {
		System.out.println("你好");	
	} 
}
public class America implements Person{
	public void sayHello() {
		System.out.println("How do you do");
	}
}

构造函数:

public class User {
    private Person p;
    public User(Person p){
    	this.p = p;
    }
    public void function(){
    	this.p.sayHello();
    }
}
public class Container {
	public static User getBean(){
        Person p = new Chinese();
        User user = new User(p);
        return user;
	}
}

属性注入

public class User {
    private Person p;
    public void setPerson(Person p){
    	this.p = p;
    }
    public void function(){
    	this.p.sayHello();
    }
}

public class Container {
	public static User getBean(){
        Person p = new Chinese();
        User user = new User();
        user.setPerson(p);
        return user;
	}
}

接口注入

public interface UserIn {
    void inject(Person p);
}

public class User1 implements UserIn{
    private Person p;
    public void function(){
    	this.p.sayHello();
    }
	public void inject(Person p) {
		this.p = p;
	}
}

public class Container {
	public static User1 getBean(){
		// TODO Auto-generated method stub
        Person p = new Chinese();
        User1 user = new User1();
        user.inject(p);
        return user;
	}
}

然后最后调用模块的函数

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

         User user = Container.getBean();

         user.function();

     }
}

基本上就是这样,代码的实例很简单,然后就是如何结合到Spring中,在这之前首先补充反射的知识。


三、Spring简单的持久层

1、领域对象

即称为实体类,也就是Bean对象。属于业务层,但是贯穿在展现层,业务层以及持久层。主要工作是从数据库表中加载数据并实例化领域对象,或者将领域对象持久化到数据库中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值