zoukankan      html  css  js  c++  java
  • spring ref &history&design philosophy

     

    spring中ref属性与<ref/>标签

    在bean的内部引用另一个bean对象:

      使用ref标签对其进行引用: <ref bean="viewResolver2"/>

    复制代码
    <bean id="viewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/" />
            <property name="suffix" value=".jsp" />
            <property name="order" value="2"/>
    </bean>
    复制代码
    复制代码
    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="viewResolvers">
            <list>
                <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"/>   
                <!-- 引用外部id为viewResolver的bean -->
                <ref bean="viewResolver"/>
            </list>
        </property> 
    </bean>
    复制代码

      

    ref属性:用来给一个对象的属性设置值

    复制代码
    使用<ref bean="viewResolver"/>
    bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!-- 在spring框架加载时创建 -->
     <bean id="borrowDao" class="dao.impl.BorrowDao" primary="true"  lazy-init="true">
      <property name="sessionFactory" ref="sessionFactory"></property>
     </bean>
    复制代码

      

    ref标签:用来引用另一个bean:

    <ref bean="viewResolver"/>,在spring容器中群钊id为viewResolver的bean对象

    History

    Spring最早在2003年,由于J2EE过于复杂而被开发出来的。有人认为Spring和Java EE是竞争关系,但Spring更像是对Java EE的补充。Spring整合了一些EE的标准:

    • Servlet API
    • WebSocket API
    • Concurrency Utilities(并发性)
    • JSON Binding API 简介
    • Bean Validation(数据校验) 简介
    • JPA
    • JMS
    • Dependency Injection and Common Annotations

    Java EE在app开发中的角色在随时间变化。早期的时候,javaEE和Spring开发的应用是部署在application server上的,今天,在Spring Boot的帮助下开发变得友好且更加云端化(devops and cloud-friendly),嵌入Servelet容器,非常容易改变。在Spring Framework5中,一个webflux应用甚至不需要Servlet API并可以运行在不含Servlet容器的server上。

    Spring projects目前在逐渐丰富,建立在Spring Framework上的projects有Spring Boot,Spring Security,Spring Data,Spring Cloud,Spring Batch…

    Spring的design philosophy

    • Provide choice at every level 尽可能允许不改动code的情况下变更design
    • Accommodate diverse perspectives 允许设计的灵活性
    • Maintain strong backward compatibility 对JDK和第三方库的高兼容性
    • Care about API design API被设计地简单易用
    • Set high standards for code quality 注意代码的整洁
  • 相关阅读:
    Python在计算内存时应该注意的问题?
    如何高效地远程部署?自动化运维利器 Fabric 教程
    强大的 Python 任务自动化工具!invoke 十分钟入门指南
    进一步学习 nox 教程,轻松掌握命令行用法
    Oracle Solaris 11.4安装桌面/gdb
    Solaris 10上Oracle 10g安装步骤图解
    Oracle Solaris 10图文安装
    读取模式下cbc latch的事件模拟(热块竞争和热链竞争)-P62
    关于位图数据位和系统管理区大小-P6
    关于位图数据和标记位-P3
  • 原文地址:https://www.cnblogs.com/formyfish/p/10667830.html
Copyright © 2011-2022 走看看