Java面试系列23-spring(2)-配置数据库驱动、依赖、Mapping等

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标签来设置构造方法的参数。

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2017-04-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JMCui

SpringMVC 异常处理.

一、异常处理 Spring提供了多种方式将异常转换为响应: 特定的Spring异常将会自动映射为指定的HTTP状态码     在默认情况下,Spring会将自身...

35480
来自专栏JMCui

Netty 系列四(ChannelHandler 和 ChannelPipeline).

    先来整体的介绍一下这篇博文要介绍的几个概念(Channel、ChannelHandler、ChannelPipeline、ChannelHandlerC...

13120
来自专栏JavaEdge

责任链模式

37960
来自专栏java工会

Spring工作原理

内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、...

9310
来自专栏Netkiller

Shell·xargs命令用法

本文节选自《Netkiller Shell 手札》 3.12. standard input/output 3.12.1. xargs - build and ...

30970
来自专栏Java架构师历程

Spring工作原理

      内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、...

22920
来自专栏xingoo, 一个梦想做发明家的程序员

JSP中文乱码问题

之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因。 这次正好作下总结,中文乱码就是因为编码不符,可能出现乱码有四个地方: ...

42690
来自专栏java工会

Spring工作原理

内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、...

8010
来自专栏刘君君

Spring Boot 静态资源处理

79260
来自专栏Python疯子

Django错误:RuntimeError: Model class user.models.UserAccount doesn't declare an explicit app_label

把 user 的引用改为 apps.user 的引用 将 from xxx.apps.users.models import User 改为 from ...

1.8K10

扫码关注云+社区

领取腾讯云代金券