zoukankan      html  css  js  c++  java
  • Spring -ch01

    Spring

    认识spring

    spring框架减轻了对项目模块间,类与类之间的管理难度,帮助开发人员创建对象,管理对象间的关系,实现模块间,类之间的解耦合

    依赖:若classA使用了classB的属性和方法,叫做类A依赖B)

    官网:https://spring.io/projects/spring-framework

    image-20210120144055382

    体系结构:

    image-20210120152024017

    前言:

    学习框架,首先要知道:所谓框架,其实就是一个别人写好的软件,我们要做的是

    1. 知道框架能做什么,例如mybatis -- 访问数据库,对表中数据进行增删改查

    2. 学习框架语法,知道框架通过哪些步骤完成一个功能

    3. 有了以上运用基础后再去认识框架的内部实现原理,进而实现一个框架

    现在正式开始进入Spring的学习:

    Ioc控制反转(Inversion of Control)

    概念

    Ioc是一种思想,描述的是:把对象的创建,赋值,管理工作交给代码外的容器实现,也就是对象的创建是由其他外部资源完成

    控制是指:创建对象,对象的属性赋值,对象间的关系管理

    解释反转之前,先介绍其相反概念:开发人员在代码中使用new构造方法创建对象,开发人员主动管理对象,这种方式可以理解为正转,那么就不难理解所谓

    反转即是:将原来的开发人员管理创建对象的权限交给代码之外的容器实现,由容器代替开发人员管理对象,创建对象,给属性赋值等工作。

    这里的容器,就是一个服务器软件,一个框架(spring)

    为什么要使用ioc?:目的就是减少对代码的改动,也能实现不同的功能,实现解耦合。

    现在想一下 Java中创建对象有哪些方式?

    1. 构造方法new

    2. 反射

    3. 序列化

    4. 克隆

    5. 动态代理

    6. ioc:容器创建对象

    ioc的体现

    以servlet为例 :

    1. 创建类继承HttpServlet

    2. 在web.xml 注册servlet使用

      myservlet

      com.andy.controller.MyServlet

    3. 注意上面代码中并没有创建Servlet对象的语句:MyServlet myservlet = new MyServlet()

    4. 其实这里的Servlet就是由Tomcat服务器帮我们创建的,Tomcat就是一个容器,里面存放着Servlet对象,Listener,Filter等

    IoC的技术实现:DI

    DI(Dependency Injeciton)依赖注入,只需要在程序中提供要使用的对象名称即可,至于对象如何在容器中创建,赋值,查找都有容器内部实现

    Spring使用DI实现了Ioc的功能,底层创建对象使用的是反射机制

    例子:在idea中使用spring创建对象

    配置beans文件

    image-20210123160957362

    测试

    image-20210123161039050
    image-20210125143933828

    详细源码见https://github.com/GigoGigo-CH/Learn_Spring/tree/master/ch01-hello-spring

  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/potofsalt/p/14317957.html
Copyright © 2011-2022 走看看