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

来源:互联网 发布:玄幻小说网络作家 编辑:程序博客网 时间:2024/04/29 19:14

提到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对象。属于业务层,但是贯穿在展现层,业务层以及持久层。主要工作是从数据库表中加载数据并实例化领域对象,或者将领域对象持久化到数据库中

原创粉丝点击