热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spring初体验:基础入门与IOC详解

大致内容spring基本概念IOC入门【17.6.9更新】,如何学习spring?掌握用法深入理解不断实践反复总结再次深入理解与实践一、Spring相关概念 1.概述:Spring

  大致内容

    spring基本概念

    IOC入门

【17.6.9更新】,如何学习spring?

  掌握用法

  深入理解

  不断实践

  反复总结

  再次深入理解与实践

一、Spring相关概念

   1.概述:    

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的容器(container)

      无论从大小和开销还是来说,都足以称得上是轻量级的框架
    由Rod Johnson创建。
    简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架

    可以说,spring带来了复杂JavaEE开发的春天!

  【更新】spring是一个解决方案级别的整合框架,主要是用来作解耦

  2.核心有两部分:

    IOC:控制反转
      对象创建不是通过new,而是通过配置交给Spring管理
    AOP:面向切面编程
      所以AOP的本质是在一系列纵向的控制流程中,把那些相同的子流程提取成一个横向的面

    是一种容器,它会管理由他创建的对象,包括生命周期的管理等。

  3.一站式框架
    在JavaEE三层架构中,每一层都提供了不同的解决方案
    web层:SpringMVC
    service层:IOC
    dao层:jdbcTemplate

    对应JavaWeb阶段的三层架构:

    Spring第一天——入门与IOC

  

  4.使用的版本
    Spring4.x的版本

  5.Spring包的下载方式
    http://www.open-open.com/news/view/1eb1613

    将文章大致内容提取出来就是:

       找到 spring framework

     找到All avaible features and modules are described in  the Modules section of the reference documentation .

        Their  maven/gradle coordinates are also described there 

     这个就是各个spring版本的下载地址:  http://repo.spring.io/release/org/springframework/spring 而且很清楚的告诉你下载哪个文件。
     (等待maven依赖管理的更新)

 二、IOC(Inverse of Control)控制反转

  【更新】:面向接口编程 每一层只向外提供接口,各层之间只依赖接口而不依赖具体的实现,用于隐藏具体实现并实现多态的组件

    什么被反转了?获得依赖对象的过程被反转了

  IOC主要的观点就是借助第三方(也就是IOC容器)实现依赖关系的对象之间的解耦

  更多详细的IOC与DI的阐述,请参见:http://www.cnblogs.com/xdp-gacl/p/3707631.html

  1.对象创建交给Spring管理

    【更新】:应用程序本身并不负责依赖对象的创建和维护,由IOC容器负责创建和维护

      (IOC容器初始化的时候会创建一系列的bean,并存在spring的上下文中,ApplicationContext)

  Spring第一天——入门与IOC

 

   2.Ioc管理分为两部分:

  【更新,初始化IOC容器的方法(WEB应用中) listen可以通过context-param】 主要是指定 contextConfigLocation

Spring第一天——入门与IOC

    1)Ioc配置文件
    2)Ioc注解 

  (1)==Ioc的底层原理:
      主要用到的技术
        xml配置文件
        dom4j解析配置文件
        工厂设计模式
        反射

之前代码:
            一个User类:
                public class User{
                    public void add(){
                        ...
                    }
                }  
View Code
推荐阅读
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
  • 本文详细介绍了如何手动编写兼容IE的Ajax函数,以及探讨了跨域请求的实现方法和原理,包括JSONP和服务器端设置HTTP头部等技术。 ... [详细]
  • Linux环境下Memcached安装指南
    本文详细介绍如何在Linux虚拟机上安装Memcached,包括必要的依赖库安装,以及使用Xshell进行文件传输的具体步骤。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • 首先说一下,这是我在CSDN上的第一个文章,其实这个账号早在几年前就申请了,不过当时只是为了下载一个资源,而且也不怎么懂信息技术相关的领域,后来就再也没怎么动过,直到今天我才开始使用这个账号 ... [详细]
  • 手把手教你构建简易JSON解析器
    本文将带你深入了解JSON解析器的构建过程,通过实践掌握JSON解析的基本原理。适合所有对数据解析感兴趣的开发者。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 前端进阶:深入解析uni-app页面配置
    本文详细探讨了uni-app框架中的页面配置方法,包括启动页设置、全局样式调整以及底部导航栏的设计等关键点。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
author-avatar
mobiledu2502930793
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有