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包
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.加入配置文件
<?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 id="mysql" class="com.zhiyou100.xz.dao.MysqlDao"></bean> <bean id="orcale" class="com.zhiyou100.xz.dao.OracleDao"></bean> <bean id="s" class="com.zhiyou100.xz.service.Service"> <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(); } }