初识Spring框架

Spring 框架概述
1.1. 什么是Spring
Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
分层: 来自JavaEE体系结构 (客户端层、 web层、业务层、持久层 )
服务器端三层结构 (web层、业务层、持久层)
Servlet + JSP —- web层技术 —- Struts2框架
JDBC 接口 —- 持久化技术 —- Hibernate框架
EJB 框架(复杂) —- 业务层技术 —- Spring 框架 (取代EJB出现 )

Spring 出现,就是为了解决常见JavaEE 企业开发问题 !
一站式: Spring框架提供了 web层(表现层) SpringMVC、 业务层 IoC、AOP和事务管理、 持久层JdbcTemplate 各层javaEE软件开发解决方案
轻量级:相对于EJB框架而言

Spring核心
IoC: 控制反转
AOP: 面向切面编程

Spring 给软件开发带来了什么
方便解耦,简化开发 (Spring IoC特性)
AOP编程的支持
声明式事务的支持
方便程序的测试
方便集成各种优秀框架 (整合Struts2 、 Hibernate 、MyBatis 、Struts1 )
降低JavaEE API的使用难度 (Spring 提供大量工具类, 简化代码编写 )

Spring 体系结构
在这里插入图片描述

理解IoC和DI的概念
什么是IoC ? 什么是DI ? 区别是什么?
IoC: 控制反转, 解决程序对象紧密耦合问题(工厂+反射+ 配置文件), 将程序中原来构造对象的权限,交给IoC容器来构造,当程序需要对象,找IoC容器获取。

在这里插入图片描述

DI : 依赖注入 , IoC容器需要为程序提供依赖对象,返回对象所依赖对象一同可以提供(Servlet需要Service, 找Ioc容器获取Service, Service由容器提供,Service依赖DAO ,IoC容器提供Service对象同时, 将Service依赖DAO 注入到Service中)

编写IoC和DI入门案例

在这里插入图片描述

第一步创建 spring-config.xml

<?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">
    <beans>
        <bean id="demo" class="com.bdqn.cn.Demo">
            <property name="id" value="1"/>
            <property name="name" value="zhangsan"/>
        </bean>
    </beans>
</beans>

第二步创建实体类Demo

package com.bdqn.cn;

/**
 * Created by 18054 on 2018/9/22.
 */
public class Demo {
    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

第三部测试类


import com.bdqn.cn.Demo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by 18054 on 2018/9/22.
 */
public class Junit {
    @Test
    public void test(){
        ApplicationContext context=new ClassPathXmlApplicationContext("spring_config.xml");
        Demo obj =(Demo) context.getBean("demo");
        System.out.println(obj.getId());
        System.out.println(obj.getName());
    }
}

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值