`
youanyyou
  • 浏览: 191885 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

spring3.0学习笔记(1)

阅读更多

用过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表达式。

深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场 

企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位! 

www.szrcwz.com                                                                                                                                           

                  Google 提供的广告

分享到:
评论

相关推荐

    Spring3.0学习笔记

    Spring3.0学习笔记

    基于注解的spring_3.0.x_MVC学习笔记

    基于注解的spring_3.0.x_MVC学习笔记

    DWR学习资料

    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 ...

    SpringMVC笔记.zip

    SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解, 让一个简单的 Java 类成为处理请求的控制器, 而无须实现任何接口。 同时它...

    JSP &amp; Servlet学习笔记(第2版)

    本人资源全部免费,更多资源请查看我的上传资源 ==========================... 著作:《Java JDK 5.0学习笔记》、《Java SE 6技术手册》、《Spring技术手册》等  译作:《Ajax实战手册》、《jQuery实战手册(第2版)》

    Java/JavaEE 学习笔记

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    spring学习笔记

    目录 1.1 Spring 框架学习路线:...........................................................................................................................4 1.2 Spring 框架的概述:...........................

    J2EE学习笔记(J2ee初学者必备手册)

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    springboot学习思维笔记.xmind

    springboot学习笔记 spring基础 Spring概述 Spring的简史 xml配置 注解配置 java配置 Spring概述 Spring的模块 核心容器CoreContainer Spring-Core Spring-Beans ...

    SpringBoot学习笔记.docx

    为了广大程序员同胞不会走入误区,这里整理了,springboot相关学习资料

    java开发常用的中文API集合包

    Freemaker_入门+深入+开发指南+学习笔记.doc FreeMarker标签中文文档.pdf FreeMarker教程.pdf ibatis开发指南(中文版).pdf java web标签大全.CHM jBPM_4.4_开发指南.pdf jquery1.7 中文手册.chm lucene3.0-api.CHM...

    j2ee学习笔记.rar

    把学到j2ee企业级开发用的知识大体总结了一下,对于初学者很实用,对于以后会有很大的帮助!

    超详细的Spring框架讲解,就这一篇!足矣

    spring框架的学习笔记,以及演示代码。 Spring框架概述1、什么是Spring2、Spring框架的优点3、Spring框架体系结构Spring框架——控制反转(IOC)1、IOC介绍2、基于配置的IOC2.1、导入jar包2.2、配置文件2.3、测试3...

    SpringIntegration

    对于针对 Spring Integration 早期版本运行的示例,请使用SI4.0.x和SI3.0.x分支。 介绍 欢迎来到Spring Integration 示例存储库,它提供了50 多个示例来帮助您学习 。 为了简化您的体验, Spring Integration示例...

    整理后java开发全套达内学习笔记(含练习)

    补码= 反码 +1 正数=负数的补码(反码+1) 反码= 非(二进制数) 八进制数,零开头 011(八进制)=9(十进制) 十六进制数,零x开头 0x55(十六进制)=5*16+5(十进制) 类型:数据都必须有类型 boolean (8bit,不定...

    security入门

    在网上找的spring security3.0开发入门,感觉讲的还不错,跟着操作,都可以运行。希望对正在学习security的你有所帮助。过几天会自己总结一个比较系统的学习笔记,希望大家多多关注,多多交流,互相进步。

    Java Web程序员开发手册(全)

    CSS完全参考手册3.0 ApacheMenu_zh_CN DIV+CSS(WEB标准) hibernate学习笔记 java web 标签大全 JavaScript 中文版 JDK_API_1_6_zh_CN jquery 1.7 中文 api 修正版 Jsp_sevlet中文API jsdom Oracle九阴真经 Servlet ...

    【毕业设计】基于springboot的仿共享单车后台源码及笔记【源码+SQL脚本】.zip

    学习这个项目的时候,对其思路做了笔记,我这里按照自己的写法,与其略有不同, 但是基本思路都是一样的。 注意: 本机环境是jdk8,tomcat8,mysql5.7.13,windows下,IDE是IntelliJ IDEA, mongodb(mongodb-win32-...

Global site tag (gtag.js) - Google Analytics