Java面試系列23-spring(2)-配置資料庫驅動、依賴、Mapping等
6.如何在spring的applicationContext.xml使用JNDI而不是DataSource
可以使用”org.springframework.jndi.JndiObjectFactoryBean”來實現。示例如下:
<bean id=”dataSource”> <property name=”jndiName”> <value>java:comp/env/jdbc/appfuse</value> </property> </bean>
7.在spring中是如何配置資料庫驅動的
org.springframework.jdbc.datasource.DriverManagerDataSource”資料來源來配置資料庫驅動。示例如下:
<bean id=”dataSource”> <property name=”driverClassName”> <value>org.hsqldb.jdbcDriver</value> </property> <property name=”url”> <value>jdbc:hsqldb:db/appfuse</value> </property> <property name=”username”><value>sa</value></property> <property name=”password”><value></value></property> </bean>
8.spring中的applicationContext.xml能不能改為其他名字
ContextLoaderListener是一個ServletContextListener, 它在你的web應用啟動的時候初始化。預設情況下, 它會在WEB-INF/applicationContext.xml檔案找Spring的配置。 你可以通過定義一個<context-param>元素名字為”contextConfigLocation”來改變Spring配置檔案的位置。示例如下:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/xyz.xml</param-value> </context-param> </listener-class> </listener>
9.在web中如何配置spring
在J2EE的web應用裡面配置spring非常簡單,最簡單的只需要把spring得ContextLoaderListener新增到你的web.xml檔案裡面就可以了,示例如下:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
10.在spring中如何定義hibernate Mapping?
新增hibernate mapping 檔案到web/WEB-INF目錄下的applicationContext.xml檔案裡面。示例如下:
<property name=”mappingResources”>
<list>
<value>org/appfuse/model/User.hbm.xml</value>
</list>
</property>
11.兩種依賴注入的型別是什麼?
兩種依賴注入的型別分別是setter注入和構造方法注入。
(1)setter注入:
一般情況下所有的java bean, 我們都會使用setter方法和getter方法去設定和獲取屬性的值,示例如下:
public class namebean {
String name;
public void setName(String a) {
name = a; }
public String getName() {
return name; }
}
我們會建立一個bean的例項然後設定屬性的值,spring的配置檔案如下:
<bean id=”bean1″ >
<property name=”name” >
<value>tom</value>
</property>
</bean>
Spring會呼叫setName方法來只是name熟悉為tom
(2)構造方法注入:
構造方法注入中,我們使用帶引數的構造方法如下:
public class namebean {
String name;
public namebean(String a) {
name = a;
}
}
我們會在建立bean例項的時候以new namebean(”tom”)的方式來設定name屬性, Spring配置檔案如下:
<bean id=”bean1″ >
<constructor-arg>
<value>My Bean Value</value>
</constructor-arg>
</bean>
使用constructor-arg標籤來設定構造方法的引數。