zoukankan      html  css  js  c++  java
  • spring

     

    spring的配置与使用

    一、Spring介绍

    1. 什么是Spring

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由 RodJohnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发,去开发android也可以。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 的核心是控制反转 (IoC)和面向切面(AOP)。简单来说,Spring 是一个分层的 JavaSE/EEfull-stack(一站式) 轻量级 开源框架。

    2. 为什么要学习Spring

    • 方便解耦,简化开发
      • Spring 就是一个大工厂,可以将所有对象创建和依赖关系维护,交给 Spring 管理
    • AOP 编程的支持
      • Spring 提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能
    • 声明式事务的支持
      • 只需要通过配置就可以完成对事务的管理,而无需手动编程
    • 方便程序的测试
      • Spring 对 Junit4 支持,可以通过注解方便的测试 Spring 程序
    • 方便集成各种优秀框架
      • Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz 等)的直接支持 降低 JavaEE API 的使用难度
    • Spring 对 JavaEE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等),都提供了封装,使这些 API 应用难度大大降低。

    3. Spring 的版本

    Spring 3.X 和 Spring4.X

    Spring 3.0.2版本:将市面上常见的、支持整合进来的工具类全部进行了收录,这个包里面有很多很多jar包。但是这是Spring坚持“做好事”的最后一个版本,没有任何回报。

    1. IOC思想和DI技术

    (1)IOC (Inverse Of Control):控制反转,将我们创建对象的方式反转了。

    以前对象的创建是由开发人员自己维护,包括依赖关系也是自己注入。使用了Spring之后,对象的创建以及依赖关系可以由Spring完成创建以及注入。

    (2)DI(Dependency Injection):依赖注入。将必须的属性注入到对象当中,是实现IOC思想的必要条件。

    需要有 IOC 的环境,Spring 创建这个类的过程中,Spring 将类的依赖的属性设置进去。

    2. Spring中的工厂(容器)

    (1)ApplicationContext

    ApplicationContext接口有两个实现类:

    • ClassPathXmlApplicationContext :加载类路径下 Spring 的配置文件
    • FileSystemXmlApplicationContext :从绝对路径上加载本地磁盘下 Spring 的配置文件,基本用不着。

    3. Spring生成Bean的三种方式(三种对象创建方式)

    对象的创建必须经过类的构造函数。

    (1)空参构造创建  --最重要

    在上面示例中的User对象中加一个无参构造函数

    重新创建一个包,把applicationContext.xml复制进该包中,把测试类testSpringDemo.java复制进该包中,并修改该文件中applicationContext.xml的位置。

    技术分享图片

    具体代码如下:

    技术分享图片User.java
    技术分享图片applicationContext.xml
    技术分享图片testSpringDemo.java
  • 相关阅读:
    服务器运行jupyter,本地浏览器打开
    转载--对batch normalization的理解
    Deep Neural Networks for YouTube Recommendations YouTube的经典推荐框架
    IFrame与window对象(contentWindow)
    vue之watch的理解
    关于npm
    简单的输入法效果(类似百度输入时候的智能检索)
    Js屏蔽网页复制,不能使用右键菜单,禁止复制网页内容,不能选中内容,右键不让用,无法拖拽选择,这么多功能,用JS一句代码就搞定了
    移动端关于计算rem的flexible.js
    解决安卓手机在input获取焦点时候固定定位元素被输入键盘给顶到顶部
  • 原文地址:https://www.cnblogs.com/xiaoruirui/p/10851080.html
Copyright © 2011-2022 走看看