首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring3.0学习札记一

2012-11-06 
spring3.0学习笔记一用过spring2.5的朋友应该都知道它的一些简单的应用,如:bean.xml中配置bean iduserD

spring3.0学习笔记一

用过spring2.5的朋友应该都知道它的一些简单的应用,如:

bean.xml中配置<bean id="userDAO" class="userDAO"/>
这样就可以了。

?

看到这,可能你会问,那类里面的属性怎么注入呢。

其实道理也很简单,在上面的AppConfig.java中,再搞一个@Bean,引用第一个bean就可以了。修改如下(只在AppConfig.java中修改就可以了)。

@Configuration
public class AppConfig {
?@Bean
?public UserDAO userDAO() {
??return new UserDAOImpl();
?}?
?@Bean
?public UserService userService() {
??UserServiceImpl service = new UserServiceImpl();
??service.setUserDAO(userDAO());????????? //在这里就注入了userDAO属性。
??return service;
?}
}

?

那么数据库的参数怎么配置呢?这个就搞得有点偏复杂了。如下,也是只在AppConfig.java中修改。

首先定义几个属性,用注入的方式。

private @Value("#{jdbcProperties.url}")String? jdbcUrl;
private @Value("#{jdbcProperties.username}")String? username;
private @Value("#{jdbcProperties.password}")String? password;

然后,再加一个@Bean

@Bean
public DataSource? dataSource(){
return? new? DriverManagerDataSource(jdbcUrl,username,password);
}

最后在bean.xml中加入一句<util:properties? id="jdbcProperties"? location="classpath: cn/ling/dao/jdbc.properties"/>

?

如何取得SessionFactory呢?如下

@Bean
public SessionFactorysessionFactory(){
?? //wire up a session factory
?? AnnotationSessionFactoryBean? asFactoryBean? =?? new AnnotationSessionFactoryBean();
? asFactoryBean.setDataSource(dataSource());???//这里的dataSource就是上面讲的那个方法。
? //add itional config
?? return asFactoryBean.getObject();
}

这一讲就到这,下一讲是另一个重点:SpEL表达式。

热点排行