码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 概述

时间:2019-06-28 00:46:35      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:开发框架   code   org   png   目标   pen   system   enc   depend   

目录

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 概述

标签:开发框架   code   org   png   目标   pen   system   enc   depend   

原文地址:https://www.cnblogs.com/Guard9/p/11100421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!