用过spring2.5的朋友应该都知道它的一些简单的应用,如:
bean.xml中配置<bean id="userDAO" class="cn.ling.spring3.dao.impl.UserDAOImpl">
然后在要用到的类中用注解注入,如下
@ContextConfiguration("classpath:beans.xml")
public class UserDAOTest {
@Resource(name="userDAO")
private UserDAO userDAO;
public void testSave() {
this.userDAO.save(new User());
}
}
或者不用注解,如下:
public void testSave() {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
UserDAO userDAO = (UserDAO)context.getBean("userDAO");
userDAO.save(new User());
}
在这里,spring3.0给我们提供了一个新功能,可以避免上面的强制转换
UserDAO userDAO = context.getBean("userDAO", UserDAO.class);
呵呵,可能这个没方便多少!
如果你不大了解XML或者是不想用xml来配置bean,想用java风格来配置bean的话,那么spring3.0下面的这个特性就很合胃口了。首先再引入两个包:asm-3.2.jar和cglib-2.2.jar,我在下面上传了。
接着,在bean.xml中加入一句:<context:component-scan base-package ="cn.ling.spring3.config"> </context:component-scan>
然后建一个类cn/ling/spring3/config/AppConfig .java里面的代码如下:
@Configuration
public class AppConfig {
@Bean
public UserDAO userDAO() {
return new UserDAOImpl();
}
}
这个在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表达式。
相关推荐
尚学堂的Spring学习笔记.doc可能包含对这些特性的详细解释、实例代码以及如何在实际项目中应用的指导,对于想要深入理解Spring 3.0的开发者来说是一份宝贵的参考资料。通过阅读这份笔记,你可以系统地学习Spring 3.0...
在本篇基于注解的Spring 3.0.x MVC学习笔记中,我们将深入探讨Spring MVC在3.0版本中的变化,以及如何通过注解实现快速开发。Spring 3.0.x相较于2.5版本有着显著的改进,尤其在MVC模块上,提供了更加灵活和强大的...
通过阅读《spring6.0学习笔记.md》这份文档,开发者可以系统地了解这些新特性和变化,逐步掌握Spring 6.0的核心技术,提升自己的开发技能。文档中应该会详细解析每个知识点的应用场景、使用方法以及最佳实践,帮助...
标题中的“spring2.0学习笔记+spring定时任务”表明了这个压缩包文件包含的是关于Spring框架2.0版本的学习资料,特别是关于Spring的定时任务功能。Spring是Java开发中最广泛应用的轻量级框架之一,它提供了一整套...
本学习笔记将深入探讨Spring 3.0 MVC框架,帮助读者理解并掌握其主要特性。 首先,Spring MVC设计的核心理念是高度可配置性。每个功能模块都可以根据需求进行定制,这意味着开发者可以根据项目需求调整框架的工作...
这个压缩包“Spring MVC学习笔记MD.7z”包含了作者在学习Spring MVC过程中的笔记、源代码以及相关文档,非常适合初学者或希望深入理解Spring MVC的开发者。 首先,`SpringMVC-Study.7z` 可能是作者整理的Spring MVC...
在Spring MVC的学习过程中,了解和掌握其核心概念与机制至关重要。Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其...
- **基于注解的spring_3[1].0.x_MVC学习笔记**: 这份笔记将详细解释Spring 3.0.x版本中的注解驱动开发,包括依赖注入、AOP和数据绑定等。 - **Spring入门教程**: 这是Spring框架的基础教程,涵盖了Spring的核心概念...
### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...
这篇学习笔记将深入探讨这两个概念及其在实际开发中的应用。 1. **Locale(地区设置)支持** - `Locale`是Java中的一个类,用于表示特定的语言和地区。例如,`zh_CN`代表简体中文,`en_US`代表美国英语。 - ...
### SpringMVC学习笔记 #### 一、SpringMVC概述 **1.1 什么是SpringMVC** SpringMVC作为Spring Framework的一个重要组成部分,主要针对Web应用开发提供了一个功能全面的MVC(Model-View-Controller)框架。它是...
DWR学习资料 :DWR 3.0 上传文件.txt DWR3.0反向Ajax示例.txt DWR3.0学习笔记.txt DWR3.0学习网址.txt dwr分页.doc DWR分页代码.doc DWR中文文档.doc DWR中文文档.pdf dwr做comet的完整实现.doc Spring整合DWR comet ...
**Spring+JDBC集成学习笔记** 在Java Web开发中,Spring框架因其强大的功能和灵活性而被广泛应用。Spring提供了与JDBC的集成,使得数据库操作更加便捷、高效且易于管理。以下将详细介绍Spring如何与JDBC结合,以及...
本笔记将详细解析Spring框架的基础知识,帮助你更好地理解并掌握Spring的核心概念。 首先,我们需要了解Spring框架的主要模块: 1. **核心容器**:这是Spring框架的基础,包括BeanFactory和ApplicationContext。...
### Spring框架概述与基本配置 #### 一、Spring框架简介 Spring框架是一个开源的企业级Java应用框架,由Rod Johnson创建...通过这些内容的学习,开发者可以更好地理解和掌握如何使用Spring框架构建高质量的应用程序。
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd ...
SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解, 让一个简单的 Java 类成为处理请求的控制器, 而无须实现任何接口。 同时它...
这份名为“软件工程师学习笔记大全(C++,JAVA)4.rar”的压缩文件包含了软件工程师在学习C++和Java编程语言时的重要参考资料。这些文档详细涵盖了从基础到高级的各种主题,对于提升技能和准备面试非常有帮助。以下...