spring框架学习日志一

一、简介

1.对spring框架的简单理解

  可以理解为它是一个管理对象的创建、依赖、销毁的容器

  Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.

  Spring 是一个 IOC(DI) 和 AOP 容器框架.

2.具体描述 Spring    

  轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API

  依赖注入(DI --- dependency injection、IOC)

3.面向切面编程(AOP --- aspect oriented programming)

  容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期

  框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象

  一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)

二、spring创建的步骤,建立一个简单的demo

1.加入依赖的jar包

spring框架学习日志一

2.创建dao类,并实现接口

public interface Dao {
    public void add();
    public void update();
    public void delete();
    public void findById();
}
public class OracleDao implements Dao {
    public void add() {
        System.out.println("Oracle添加");
    }
    public void update() {
        System.out.println("Oracle修改");
    }
    public void delete() {
        System.out.println("Oracle删除");
    }
    public void findById() {
        System.out.println("Oracle查询");
    }
}

3.建立service进行方法调用

public class Service {
    //以前这样写
    //private MysqlDao mdao=new MysqlDao();//硬编码,不能扩展   需要借助spring
        private Dao mdao; //这里不再需要自己new新的对象

        public void show() {
            System.out.println("show===");
            mdao.delete();
        }
        public void setMdao(Dao mdao) {
            this.mdao = mdao;
        }

        
}

4.加入配置文件

spring框架学习日志一

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <!-- 
        管理类:类的创建以及属性的注入
        bean:表示管理的类标签
        class:具体的类
        id:标注该标签
        ref:要与id的值相同,这里没用value是因为其后跟的是对象
     -->
 <bean ></bean>
 <bean ></bean>
 
 <bean >
     <property name="mdao" ref="orcale"></property>
 </bean>
 </beans>
 

 5.测试

public class Test {
       public static void main(String[] args) {
         //以前:
//           Service s=new Service();
//           s.show();
           //现在都由spring容器来管理你的对象。用bean标签
         //加载spring配置文件  
        ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取指定的类对象
        Service s=(Service) app.getBean("s");//强转
        s.show();
       }
}