1. spring是什麼意思
spring的意思是:春天。
讀音:英[sprɪŋ],美[sprɪŋ]。
釋義:
n.春天;彈簧;泉水;活力;跳躍。
adj.春天的。
vi.生長;湧出;躍出;裂開。
vt.使跳起;使爆炸;突然提出;使彈開。
變形:過去式sprang或sprung,過去分詞sprung,現在分詞springing,第三人稱單數springs,復數springs。
短語:
mineral spring礦泉。
air spring氣墊。
spring break春假。
spring的用法
spring可作「跳」「跳躍」解,引申可指「彈簧,發條」「泉水」,是可數名詞。
spring跟帶有延續性的介詞(如ring,throughout)時,前面要加定冠詞the。
spring既可用作及物動詞,也可用作不及物動詞。用作及物動詞時,接名詞、代詞作賓語,有時可接由形容詞充當補足語的復合賓語。
spring前可帶介詞in,ring等,如in spring,in the spring,ring the spring(the不可省略)。當表示某個季節來臨時,不帶the,如Spring has come。
2. 如何在web環境中使用spring以及在spring環境中如何使用數據源
具體的實現步驟如下: 第一步:設計報表 這里使用mysql資料庫為例做報表,數據源名稱為」mysqlCon」, 第二步:讀取Spring配置文件內的數據源工具類及工具類配置 1、 編寫讀取Spring配置文件內的數據源工具類 為避免每一個jsp運行報表時
3. spring-boot 適合開發web應用嗎
spring-boot 適合開發web應用的
靜態資源訪問
在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。
默認配置
Spring Boot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:
/static
/public
/resources
/META-INF/resources
舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序後,嘗試訪問http://localhost:8080/D.jpg。如能顯示圖片,配置成功。
渲染Web頁面
在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容為json對象。那麼如果需要渲染html頁面的時候,要如何實現呢?
模板引擎
在動態HTML實現上Spring Boot依然可以完美勝任,並且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。
Spring Boot提供了默認配置的模板引擎主要有以下幾種:
Thymeleaf
FreeMarker
Velocity
Groovy
Mustache
Spring Boot建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現Spring Boot的多種特性,具體可見後文:支持JSP的配置
當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在後續各模板引擎的配置屬性中查詢並修改。
Thymeleaf
Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的Java庫,基於Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。
Thymeleaf提供了一個用於整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
4. 大家現在做web還用spring mvc嗎
組成Spring框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯合實現。每個模塊的功能如下:1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要組件是 BeanFactory,它是工廠模式的實現。BeanFactory 使用控制反轉(IOC) 模式將應用程序的配置和依賴性規范與實際的應用程序代碼分開。
2、Spring 上下文:Spring 上下文是一個配置文件,向 Spring框架提供上下文信息。Spring 上下文包括服務,例如JNDI、EJB、電子、國際化、校驗和調度功能。
3、Spring AOP:通過配置管理特性,Spring AOP 模塊直接將面向切面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持AOP。Spring AOP 模塊為基於 Spring 的應用程序中的對象提供了事務管理服務。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務管理集成到應用程序中。
4、Spring DAO:JDBCDAO抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同資料庫供應商拋出的錯誤消息。異常層次結構簡化了錯誤處理,並且極大地降低了需要編寫的異常代碼數量(例如打開和關閉連接)。Spring DAO 的面向 JDBC 的異常遵從通用的 DAO 異常層次結構。
5、Spring ORM:Spring 框架插入了若干個ORM框架,從而提供了 ORM 的對象關系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有這些都遵從 Spring 的通用事務和 DAO 異常層次結構。
6、Spring Web 模塊:Web 上下文模塊建立在應用程序上下文模塊之上,為基於 Web 的應用程序提供了上下文。所以,Spring框架支持與 Jakarta Struts 的集成。Web 模塊還簡化了處理多部分請求以及將請求參數綁定到域對象的工作。
7、Spring MVC 框架:MVC框架是一個全功能的構建 Web應用程序的 MVC 實現。通過策略介面,MVC框架變成為高度可配置的,MVC 容納了大量視圖技術,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由javabean構成,存放於Map;視圖是一個介面,負責顯示模型;控制器表示邏輯代碼,是Controller的實現。Spring框架的功能可以用在任何J2EE伺服器中,大多數功能也適用於不受管理的環境。Spring 的核心要點是:支持不綁定到特定 J2EE服務的可重用業務和數據訪問對象。毫無疑問,這樣的對象可以在不同J2EE 環境(Web 或EJB)、獨立應用程序、測試環境之間重用。
至於你是否需要再集成spring的其他模塊,就看你項目中的實際需要了。
5. 在基於spring搭建的java web應用中,是通過什麼方式觸發spring的初始化過程的
前段時間在公司做了一個項目,項目用了spring框架實現,WEB容器是Tomct 5,雖然說把項目做完了,但是一直對spring的IoC容器在web容器如何啟動和起作用的並不清楚。所以就抽時間看一下spring的源代碼,藉此了解它的原理。
我們知道,對於使用Spring的web應用,無須手動創建Spring容器,而是通過配置文件,聲明式的創建Spring容器。因此在Web應用中創建Spring容器有如下兩種方式:
1. 直接在web.xml文件中配置創建Spring容器。
2. 利用第三方MVC框架的擴展點,創建Spring容器。
其實第一種方式是更加常見。為了讓Spring容器隨Web應用的啟動而啟動,有如下兩種方式:
1. 利用ServletContextListener實現。
2. 利用load-on-startup Servlet實現。
Spring提供ServletContextListener的一個實現類ContextLoaderListener,該類可以作為Listener 使用,它會在創建時自動查找WEB-INF下的applicationContext.xml文件,因此,如果只有一個配置文件,並且文件名為applicationContext.xml,則只需在web.xml文件中增加以下配置片段就可以了。
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
如果有多個配置文件需要載入,則考慮使用<context-param...>元素來確定配置文件的文件名。ContextLoaderListener載入時,會查找名為contentConfigLocation的初始化參數。因此,配置<context-param...>時就指定參數名為contextConfigLocation。
帶多個配置文件的web.xml文件如下:
<context-param>
<param-name>contextLoaderListener</param-name>
<param-value>
WEB-INF/*.xml, classpath:spring/*.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
多個配置文件之間用「,」隔開。
下面我們來看它的具體實現過程是怎樣的,首先我們從ContextLoaderListener入手,它的代碼如下:
public class ContextLoaderListener implements ServletContextListener
{
private ContextLoader contextLoader;
/**
* 這個方法就是用來初始化web application context的
*/
public void contextInitialized(ServletContextEvent event)
{
this.contextLoader = createContextLoader();
this.contextLoader.initWebApplicationContext(event.getServletContext());
}
/**
* 創建一個contextLoader.
* @return the new ContextLoader
*/
protected ContextLoader createContextLoader()
{
return new ContextLoader();
}
................
}
6. 如何利用spring boot做一個簡單的web應用
spring-boot適合開發web應用的靜態資源訪問在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。默認配置SpringBoot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:/static/public/resources/META-INF/resources舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序後,嘗試訪問頁面的時候,要如何實現呢?模板引擎在動態HTML實現上SpringBoot依然可以完美勝任,並且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。SpringBoot提供了默認配置的模板引擎主要有以下幾種:建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現SpringBoot的多種特性,具體可見後文:支持JSP的配置當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在後續各模板引擎的配置屬性中查詢並修改。ThymeleafThymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的Java庫,基於ApacheLicense2.0許可,由DanielFernández創建,該作者還是Java加密庫Jasypt的作者。Thymeleaf提供了一個用於整合SpringMVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
7. 如何開發線程安全的Spring Web應用
如果開發者正開發或維護基於Servlet的Web應用,則Servlet規范建議最好能夠看看。因為它含有的內容對於Web應用開發者理解Servlet容器的工作機理很有幫助。
規范中最有趣的一部分是給出了Servlet容器是如何處理客戶請求的。Servlet容器將會根據web.xml配置文件中定義的各個Servet而創建相應的單例(Singleton)。因此,客戶請求可能同時訪問這些單例,即多個線程同時運行你的代碼。在Web應用中保證線程安全是很重要的。開發者應該對這個問題保持警惕,而且必須確保各自的代碼必須以線程安全的方式運行。
8. 如何讓spring mvc web應用啟動時就執行特定處理
第一步:在spring的配置文件中增加一個bean配置,如:
<bean class="com.test.InitBean"></bean>
第二步:添加對應的bean類,實現org.springframework.beans.factory.InitializingBean介面,該介面只有一個afterPropertiesSet方法,應用啟動時spring載入完成後,即會調用這個方法,在方法中調用你需要的操作即可,如:
@Override
public void afterPropertiesSet() throws Exception {
//TODO 你要做的操作
}
9. java web的 怎麼載入spring
spring在web環境中,java代碼里需要得到ApplicationContext; 根據前期配置的不同,有兩種方式:
方式一,spring載入放到web.xml中配置:
[html] view plain print?
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
則得到ApplicationContext用如下方式:
[java] view plain print?
//在struts中需要實現ServletRequestAware類,便可得到request對象
ServletContext s = ServletActionContext.getRequest().getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(s);
java代碼中調用 ctx.getBean(String beanId);
方式二,直接聲明:
[java] view plain print?
public class BeanManager {
private static ApplicationContext context = new ("appcontext.xml") ;
public static Object getBean(String beanId) {
return context.getBean(beanId);
}
}
在web.xml中寫一個servlet,自動啟動,init方法中調用一下BeanManager,為的是在Web應用啟動的時候就讓Spring載入bean配置文件,否則會在第一次調用BeanManager的時候載入,影響第一次訪問速度。
[java] view plain print?
init() throws ServletException {
BeanManager bm = new BeanManager();
}
在java代碼中使用 BeanManager.getBean(String beanId); 來獲得bean實例。
10. 如何在web應用裡面配置spring
主要是修改web.xml文件,導包