spring中ref属性与<ref/>标签
在bean的内部引用另外一个bean对象:html
使用ref标签对其进行引用: <ref bean="viewResolver2"/>java
<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的标准:web
- 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
Spring projects目前在逐渐丰富,创建在Spring Framework上的projects有Spring Boot,Spring Security,Spring Data,Spring Cloud,Spring Batch…json
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 注意代码的整洁