Spring—Spring框架介绍


————————————————————————————————

Spring框架的介绍

  1. Spring框架的概述
    Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。
    Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE
    Development and Design中阐述的部分理念和原型衍生而来。
    它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。
    Spring的核心是控制反转(IOC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
    IOC:控制反转,将创建对象的过程交给spring进行管理
    AOP:面向切面,在不修改源代码的情况之下进行代码功能的增强

Spring框架的优点

方便解耦,简化开发,Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理,这也是IOC的作用。
AOP编程的支持,Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。
声明式事务的支持,只需要通过配置就可以完成对事务的管理,而无需手动编程。
方便程序的测试,Spring对Junit4支持,可以通过注解方便的测试Spring程序。
方便集成各种优秀框架,Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts2、Hibernate、MyBatis等)的直接支持。
降低JavaEE API的使用难度,Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

Spring框架的Bean管理

(1) 什么是Bean个管理

bean管理指的是如下的两个操作。
1.创建对象
2.注入属性

(2) Bean管理操作的两种方式

1.基于xml配置文件的方式实现
2.基于注解方式实现

(3) 基于xml配置文件的方式实现Bean管理和注入属性

1.基于xml方式创建对象

①:这个就是我们上边配置过
②:创建对象的时候,默认是执行无参构造方法完成对象

2.基于xml方式注入属性

依赖注入的概述

IOC和DI的概念

IOC:Inverse of Control,控制反转,将对象的创建权反转给Spring!!

DI:Dependency Injection,依赖注入,就是注入属性

属性的set方法注入值

编写属性,提供该属性对应的set方法,编写配置文件完成属性值的注入

public class User {
   
    // 编写成员属性,一定需要提供该属性的set方法
    //IOC容器底层就通过属性的set方法方式注入值
    private int age;
    private String name;
    private Demo demo;

    public void setAge(int age) {
   
        this.age = age;
    }

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

    public void setDemo(Demo demo) {
   
        this.demo = demo;
    }

    @Override
    public String toString() {
   
        return "User{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", demo=" + demo +
                '}';
    }
}
<!‐‐DI:依赖注入‐‐>
<bean id="user" class="com.qcby.service.User" >
    <!--使用property完成属性注入
        name:类里面属性名称
        value:向属性注入值
        ref:对象映射-->
    <property name="age" value="18"></property>
    <property name="name" value="张三"></property>
    <property name="demo" ref="demo"></property>
</bean>

<bean id="demo" class="com.qcby.service.Demo" />

@Test
public void run1(){
   
    //创建spring工厂,加载配置文件
    ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
    //获取bean对象
    User user = ac.getBean("user", User.class);

    System
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值