热门标签 | 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
推荐阅读
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
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社区 版权所有