zoukankan      html  css  js  c++  java
  • 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),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序代码本身反转到了外部容器。
    IoC 是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式有两种: 依赖注入和依赖查找。依赖注入方式应用更为广泛。

    依赖查找: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();
    }
    }


    文件目录结构



    效果展示

    配置文件



  • 相关阅读:
    盒子垂直水平居中
    Sahi (2) —— https/SSL配置(102 Tutorial)
    Sahi (1) —— 快速入门(101 Tutorial)
    组织分析(1)——介绍
    Java Servlet (1) —— Filter过滤请求与响应
    CAS (8) —— Mac下配置CAS到JBoss EAP 6.4(6.x)的Standalone模式(服务端)
    JBoss Wildfly (1) —— 7.2.0.Final编译
    CAS (7) —— Mac下配置CAS 4.x的JPATicketRegistry(服务端)
    CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解
    CAS (5) —— Nginx代理模式下浏览器访问CAS服务器配置详解
  • 原文地址:https://www.cnblogs.com/kosinggit/p/9614942.html
Copyright © 2011-2022 走看看