zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    springmvc入门&参数&注解
    springmvc_ssm Spring、SpringMVC、MyBatis集成
    spring-dbutils&注解
    如何快速进去 注册表
    数据库的导出 与导入 速度相当快的方法
    常见的问题:https://localhost:1158/em 无法打开
    卸载windows服务
    用语句创建 表空间、临时表空间、用户 等规则
    游标 根据目录号 操作用户 查看 对应得影像数
    根据 目录号 案卷号 用户名 查询 page 中 的条数
  • 原文地址:https://www.cnblogs.com/Guard9/p/11100421.html
Copyright © 2011-2022 走看看