Spring 概述

Posted guard9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 概述相关的知识,希望对你有一定的参考价值。

目录

Spring 概述

1. 什么是spring?

Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

2. 使用Spring框架的好处是什么?

1、轻量:Spring 是轻量的,基本的版本大约2MB。

2、控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

3、面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

4、容器: Spring 包含并管理应用中对象的生命周期和配置。

5、MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。

6、事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局(JTA)。

7、异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。

3.springIOC的底层实现原理

技术图片

4.Spring开发所需的JAR包

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
  </dependencies>

6.IOC和DI的概念

IOC:Inverse of Control 反转控制的概念,就是将原本在程序中手动创建的UserService对象的控制权,交给了Spring框架来管理。

DI:依赖注入的概念,就是在Spring创建这个对象的过程中,将这个对象所依赖的属性注入进去

public interface UserService 
    public void sayHello();


* * *
public class UserServiceImpl implements  UserService

    // 添加属性:
    private String name;

    public void sayHello() 
        System.out.println("Hello Spring" + name);
    

    public String getName() 
        return name;
    

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


* * *
public class SpringDemo1 

    @Test
    /**
     * 传统方式开发
     */
    public void demo1()
        // UserService userService = new UserServiceImpl();
        UserServiceImpl userService = new UserServiceImpl();
        // 设置属性:
        userService.setName("张三");
        userService.sayHello();
    
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:p="http://www.springframework.org/schema/p"
       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">
    <!-- UserService的创建权交给了Spring -->
   <bean id="userService" class="com.imooc.ioc.demo1.UserServiceImpl">
        <!-- 设置属性-->
        <property name="name" value="李四"/>
    </bean>

</beans>
(applicationContext.xml)

以上是关于Spring 概述的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架Spring概述及基本应用

Spring概述

Spring概述

Spring 从入门到精通系列 01——Spring概述与体系结构总结

基础知识(09) -- Spring 概述

最新最全面的Spring详解——Spring概述与IOC容器