两个问题
//1.一般C/S下这样写就可以获得_sonDao对象.那如果是在B/S环境下都流行怎么写.用来获得_sonDao的句柄呢?
//2.用spring有没有办法能配置成.用SonDao _sonDao = new SonDao()实例化就可以调用 _sonDao.searchInfo();成功啊?
//原码如下<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="no"
default-lazy-init="false"
default-dependency-check="none"
><!--DB properties-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>proxool.properties</value>
</property>
</bean>
<!--Mysql DataSource-->
<bean id="proxoolDataSource"
class="org.logicalcobwebs.proxool.ProxoolDataSource" >
<property name="driver">
<value>${proxool.dbDriver}</value>
</property>
<property name="driverUrl">
<value>${proxool.dbUrl}</value>
</property>
<property name="user">
<value>${proxool.dbUser}</value>
</property>
<property name="password">
<value>${proxool.dbPassWord}</value>
</property>
<property name="alias">
<value>springmvc</value>
</property>
</bean>
<!-- jdbc template -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="proxoolDataSource"/>
</property>
</bean> <!--Connection BaseBean-->
<bean id="baseDao" class="BaseDao">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
<!--Connection SonBean-->
<bean id="sonDao" class="SonDao">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean></beans>TestCase.java
public class TestCase { public static void runDb() {
FileSystemXmlApplicationContext context =
new FileSystemXmlApplicationContext(new String[]{"applicationContext.xml"});
//1.一般C/S下这样写就可以获得_sonDao对象.那如果是在B/S环境下都流行怎么写.用来获得_sonDao的句柄呢?
SonDao _sonDao = (SonDao) context.getBean("sonDao");
//2.用spring有没有办法能配置成.用SonDao _sonDao = new SonDao()实例化就可以调用 _sonDao.searchInfo();成功啊?
//SonDao _sonDao = new SonDao();
System.out.println(_sonDao.searchInfo());
}
public static void main(String [] args)
{
runDb();
}
}
BaseDao.java
public class BaseDao { public BaseDao() {} /**
* 根据Sql去DB检索
*/
public List<Object> queryForList(String sql, Object parameter[]) {
return jdbcTemplate.queryForList(sql, parameter);
} private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}SonDao.java
public class SonDao extends BaseDao{
// 检索
public List searchInfo() {
return queryForList("SELECT * FROM SPRINGTEST", null);
}
}
//1.一般C/S下这样写就可以获得_sonDao对象.那如果是在B/S环境下都流行怎么写.用来获得_sonDao的句柄呢?
//2.用spring有没有办法能配置成.用SonDao _sonDao = new SonDao()实例化就可以调用 _sonDao.searchInfo();成功啊?
//原码如下<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="no"
default-lazy-init="false"
default-dependency-check="none"
><!--DB properties-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>proxool.properties</value>
</property>
</bean>
<!--Mysql DataSource-->
<bean id="proxoolDataSource"
class="org.logicalcobwebs.proxool.ProxoolDataSource" >
<property name="driver">
<value>${proxool.dbDriver}</value>
</property>
<property name="driverUrl">
<value>${proxool.dbUrl}</value>
</property>
<property name="user">
<value>${proxool.dbUser}</value>
</property>
<property name="password">
<value>${proxool.dbPassWord}</value>
</property>
<property name="alias">
<value>springmvc</value>
</property>
</bean>
<!-- jdbc template -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="proxoolDataSource"/>
</property>
</bean> <!--Connection BaseBean-->
<bean id="baseDao" class="BaseDao">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
<!--Connection SonBean-->
<bean id="sonDao" class="SonDao">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean></beans>TestCase.java
public class TestCase { public static void runDb() {
FileSystemXmlApplicationContext context =
new FileSystemXmlApplicationContext(new String[]{"applicationContext.xml"});
//1.一般C/S下这样写就可以获得_sonDao对象.那如果是在B/S环境下都流行怎么写.用来获得_sonDao的句柄呢?
SonDao _sonDao = (SonDao) context.getBean("sonDao");
//2.用spring有没有办法能配置成.用SonDao _sonDao = new SonDao()实例化就可以调用 _sonDao.searchInfo();成功啊?
//SonDao _sonDao = new SonDao();
System.out.println(_sonDao.searchInfo());
}
public static void main(String [] args)
{
runDb();
}
}
BaseDao.java
public class BaseDao { public BaseDao() {} /**
* 根据Sql去DB检索
*/
public List<Object> queryForList(String sql, Object parameter[]) {
return jdbcTemplate.queryForList(sql, parameter);
} private JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}SonDao.java
public class SonDao extends BaseDao{
// 检索
public List searchInfo() {
return queryForList("SELECT * FROM SPRINGTEST", null);
}
}
还是要
SonDao _sonDao = (SonDao) context.getBean("sonDao");
SpringContextLoader注册成SERVLET然后调用SPRING提供的bean工厂方法。。
这样使用STRUTST SERVLET都可以交给SPRING管理