您的位置:首页 > 编程语言 > Java开发

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

2013-10-01 00:08 169 查看
提到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对象。属于业务层,但是贯穿在展现层,业务层以及持久层。主要工作是从数据库表中加载数据并实例化领域对象,或者将领域对象持久化到数据库中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: