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 注意代碼的整潔