zoukankan      html  css  js  c++  java
  • Spring学习,初识Spring

    Spring概述

    将Spring理解为管理对象间依赖关系的容器

    “解耦”


    根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级业务逻辑 两类

    ```
    Spring 是为了解决企业级开发的复杂度问题
    1.主业务逻辑
    保险业务
    银行业务


    2.系统级业务逻辑,交叉业务逻辑
    jdbc连接数据库




    ```
     特点

    轻量

    针对接口编程解耦合

    AOP编程的支持

    方便集成各种优秀框架

    spring框架结构
    )

    优点:
    `
      1.低侵入式设计,代码污染极低

      2.独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺

      3.Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦

      4.Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用

      5.Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问

      6.Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部`
      
      
      
      )
      
      
      
      
      Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)。
      
      
     
     
     
     
     
     
     
    胶水框架

    兼容主流解决方案

    控制反转Ioc

    控制反转(IoC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。
    oC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式有两种: 依赖注入和依赖查找。依赖注入方式应用更为广泛。

    依赖查找:Dependency Lookup,DL,容器提供回调接口和上下文环境给组件,程序代码则需要提供具体的查找方式。比较典型的是依赖于 JNDI 系统的查找。
    依赖注入:Dependency Injection,DI,程序代码不做定位查询,这些工作由容器自行完成。
    依赖注入 DI 是指程序运行过程中,若需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部容器,由外部容器创建后传递给程序。

    Spring 的依赖注入对调用者与被调用者几乎没有任何要求,完全支持 POJO 之间依赖关系的管理。

    ==依赖注入是目前最优秀的解耦方式==。依赖注入让 Spring 的 Bean 之间以配置文件的方式组织在一起,而不是以硬编码的方式耦合在一起的

     第一个spring程序


    测试spring

    package com.cuiyuling.hello.spring;
    
    import com.cuiyuling.hello.spring.service.UserService;
    import javafx.application.Application;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class SpringTest {
    public static void main(String[] args){
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml");
    UserService userService = (UserService) applicationContext.getBean("userService");
    userService.sayHi();
    }
    }


    文件目录结构



    效果展示

    配置文件



  • 相关阅读:
    win7跨网段加域提示"找不到网络路径",解决后又提示"将该计算机的主域DNS更改为“”失败,名称仍然为xx.xx, 错误为“指定的服务器无法运行请求的操作”!
    XP原版系统激活
    使用SQLyog远程连接mysql,错误1130 解决方法
    激活Windows Server 2008 R2 Enterprise 方法
    Non-UTF-8 code starting with 'xff'解决,记录
    Linux 中,基础命令 command not found...问题
    winxp_sp3未激活的登录问题
    linux安装tomcat
    Notepad++ 配置python
    python idle 清屏问题的解决
  • 原文地址:https://www.cnblogs.com/kosinggit/p/9614949.html
Copyright © 2011-2022 走看看