Spring框架概述

1、对于框架的简单了解(framework

框架:具有约束性的去支撑我们完成功能的半成品的项目。

约束性:定义的一些标准;

支撑性:其实就是对底层各种功能技术的封装;

半成品的项目:框架不是一个完整的项目,只是提供一个架子,虽然封装了各种技术,但是缺少业务逻辑。框架+业务逻辑=项目(减少代码量)

因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事务处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

2、Spring概述

  1) Spring是一个开源框架   
  2) Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。
  3) Spring是一个IOC(DI)和AOP容器框架。
  4) Spring的优良特性
     ①   非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API。(轻量级,非侵入性:简单理解就是对原来的技术没有影响,就是封装功能
     ②   依赖注入:DI——Dependency Injection,反转控制(IOC)最经典的实现。(将我们对 对象的控制权交给程序Spring
     ③   面向切面编程:Aspect Oriented Programming——AOP(是为了对OOP进行补充)
     ④   容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
     ⑤   组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。(Spring所管理的对象,降低耦合)

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

  5)Spring模块

2、搭建Spring运行时环境

0)STS下选择Java视图,首先进行preference->workspace->编码设置为UTF-8,JSP Files->编码UTF-8。创建Java Project.

1) 加入JAR包
  ① Spring自身JAR包:spring-framework-4.0.0.RELEASElibs目录下
    spring-beans-4.0.0.RELEASE.jar
    spring-context-4.0.0.RELE2ASE.jar
    spring-core-4.0.0.RELEASE.jar
    spring-expression-4.0.0.RELEASE.jar
  ② commons-logging-1.1.1.jar
2) 在Spring Tool Suite工具中通过如下步骤创建Spring的配置文件
   ① File->New->Spring Bean Configuration File
   ② 为文件取名字 例如:applicationContext.xml

3、Spring使用:使用Spring创建对象,为属性赋值
1) 创建Student类

package com.atguigu.spring.di;

public class Student {
    private Integer id;
    
    private String name;

    public String getName() {
        return name;
    }

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

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + "]";
    }

    public Student() {
        super();
    }

    public Integer getId() {
        return id;
    }

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

}

2) 创建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>:定义spring所管理的一个对象
        id:该对象的唯一标示,注意:不能重复,在通过类型获取bean的过程中可以不设置
        class:此对象所属类的全限定名
     -->
    <bean id="student" class="com.atguigu.spring.di.Student">
    <!-- 使用property子元素为bean的属性赋值 -->
        <!-- 
            <property>:为对象的某个属性赋值
            name:属性名
            value:属性值
         -->
    <property name="id" value="1001"></property>
    <property name="name" value="kkzhang"></property>
    
    </bean>


</beans>

3) 通过Spring的IOC容器创建Student类实例

package com.atguigu.spring.di;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
public static void main(String[] args) {
    //1 创建IOC容器对象
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    //2 根据id值获取bean实例对象
    Student s1 = ac.getBean("student", Student.class);
    //3.打印bean
    System.out.println(s1);
}

}

原文地址:https://www.cnblogs.com/lemonzhang/p/12897725.html