不知道这个理解对不对 我理解啊,启动apserver的时候,就自动单例的加载springapp-servlet.xml里所有的类! 也就是说该web项目用到所有 springapp-servlet.xml 里面的类都是已经初始化好的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我在配置文件里面配置了proxool,连接池 然后在BaseDao 类里直接用jdbcTemplate操作db 是不是就能自动用到连接池的功能.这样用容器做我还真有点不习惯. 不知道所用的connection是否来自连接池! 希望知道的大侠能给我回答一下啊 <!--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--> <bean id="baseDao" class="com.cn.springcomm.BaseDao"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate"/> </property> <property name="xtest" value="test"/> </bean> //CLASS package com.cn.springcomm; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; public class BaseDao { public BaseDao(){} public List queryForList(String sql) { List list = jdbcTemplate.queryForList(sql); return list; } private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() { return jdbcTemplate; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } } spring配置文件不是启动apserver的时候就自动单例的加载springapp-servlet.xml里面的类吗?这个问题好象应该这样来说:用ApplicationContext来启动spring容器是立即加载所有的bean;用BeanFactory来启动spring容器的时候只是返回一个代理类,而在你用诸如getbean之类的方法时才去真正创建这个bean对象。 根据我的理解,启动时只是读取了全部的配置文件。只有用到的类才会被初始化,当然也包括关联的依赖注入的类。这样做符合JAVA的特点,用不到就不加载到内存的一贯作风。 的確,啟動時只加載了配置文件和靜態代碼塊以及關聯的東西后面是到你每次去執行的時候他才每次都new下。。 加载类指执行 loadClass 那么框架启动一般都会加载类。 代理要根据类的接口或者cglib来生成。而所说的启动类恐怕是生成类的实例。 按道理应该是你写的代码需要被执行的时候,这个类实例才会被生成。而spring提供的一些bean会管理好它实例化过程, 恐怕你不用担心这个问题。生成一个类实例至少有3个策略1 每次调用生成。 stateless2 只有一个实例 singleton3 根据代理给的id生成。 session当然还有别的。 比如像连接池的做法, stateless & reusable 并不是所有的向singleton 的 第一次启动时就 init了so, prototype 不是。 能不能讲日期转换成整数啊 北大acm 1002 求救 hibernatea中有关配置的问题 用容器做的计算器有毛病,容器高手来~ 想写个局域网的聊天加文件传送程序,希望给点指点 关于JAVA应用程序窗口一问: native2ascii和记事本的保存编码设置的关系 printStackTrace()有什么用?能具体解释下吗? 在STRING复值中如何显示特殊字符@ 请问一个奇怪的问题! 如何控制JOptionPane在屏幕中的位置 tomcat server.xml里面有一个shutdown 8005
然后在BaseDao 类里直接用jdbcTemplate操作db
是不是就能自动用到连接池的功能.这样用容器做我还真有点不习惯.
不知道所用的connection是否来自连接池!
希望知道的大侠能给我回答一下啊
<!--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-->
<bean id="baseDao" class="com.cn.springcomm.BaseDao">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
<property name="xtest" value="test"/>
</bean>
//CLASS
package com.cn.springcomm; import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate; public class BaseDao {
public BaseDao(){} public List queryForList(String sql) {
List list = jdbcTemplate.queryForList(sql);
return list;
} private JdbcTemplate jdbcTemplate; public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
} }
用ApplicationContext来启动spring容器是立即加载所有的bean;
用BeanFactory来启动spring容器的时候只是返回一个代理类,而在你用诸如getbean之类的方法时才去真正创建这个bean对象。
后面是到你每次去執行的時候他才每次都new下。。
2 只有一个实例 singleton
3 根据代理给的id生成。 session当然还有别的。 比如像连接池的做法, stateless & reusable
向singleton 的 第一次启动时就 init了
so, prototype 不是。