`

spring 3.0新特性学习1

阅读更多

1 用注释
   @ContextConfiguration("classpath:beans.xml")
public class UserDAOTest extends AbstractJUnit4SpringContextTests{
 
 @Resource(name="userDAO")
 private UserDAO userDAO;
 
 @Test
 public void testSave() {
  this.userDAO.save(new User());
 }

  注意,extends AbstractJUnit4SpringContextTest的话,就不用再用以前的去根据ApplicationContext去读取了。


2 获得BEAN的时候支持泛型
   @Test
 public void testSave() {
  ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
  UserDAO userDAO = context.getBean("userDAO", UserDAO.class);
  
  //UserDAO userDAO = (UserDAO)context.getBean("userDAO");(这是以前的写法)
  userDAO.save(new User());
3 将一个JAVA文件看作配置文件
   在beans.xml中
   <context:component-scan base-package="com.liao.config"></context:component-scan>
然后在类中,设置这个配置文件:
  import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.bjsxt.spring30.dao.UserDAO;
import com.bjsxt.spring30.dao.impl.UserDAOImpl;

@Configuration
public class AppConfig {
 @Bean
 public UserDAO userDAO() {
  return new UserDAOImpl();
 }
 
 //xml
 //<bean id = "userDAO" class="userDAO()"
}

  又如:
@Bean
 public UserDAO userDAO() {
  return new UserDAOImpl();
 }
 
 @Bean
 public UserService userService() {
  UserServiceImpl service = new UserServiceImpl();
  service.setUserDAO(userDAO());
  return service;
 }

4 SPEL:
  @Test
 public void test01() {
  ExpressionParser parser = new SpelExpressionParser();
  Expression exp = parser.parseExpression("'Hello,World'");
  System.out.println((String)exp.getValue());
 }
 
 @Test
 public void test02() {
  
  User u = new User();
  u.setUsername("zhangsan");
  
  EvaluationContext context = new StandardEvaluationContext(u);
  
  ExpressionParser parser = new SpelExpressionParser();
  Expression exp = parser.parseExpression("username"); //u.getUsername()
  System.out.println((String)exp.getValue(context));
  System.out.println((String)exp.getValue(u));
5 SPEL中,可以在配置文件中赋予和计算一些表达式了,比如:
  <property name="randomNumber" value="#{T(java.lang.Math).random() * 100}"></property>

3
0
分享到:
评论

相关推荐

    Spring3.0新特性

    - **丰富的学习资源**:为了帮助开发者更好地了解和掌握 Spring 3.0 的新特性,Spring 社区和官方推出了许多优秀的文章和教程。这些资源涵盖了从入门到精通的不同层次,非常适合各种技能水平的开发者进行学习。 ###...

    spring3.0的API

    Spring 3.0是Spring框架的一个重要版本,它引入了许多新特性和改进,极大地扩展了其功能和灵活性。本文将详细解析Spring 3.0 API的主要特性,帮助开发者更好地理解和利用这一强大的Java企业级开发工具。 一、核心...

    spring3.0-framework-reference.pdf

    随着版本的迭代,Spring不断融入新的功能和技术,其中Spring 3.0的发布标志着该框架迈入了一个全新的阶段,不仅对Java 5进行了全面支持,还引入了一系列创新特性和架构优化。本文将深入探讨Spring 3.0的核心特性、...

    Spring3.0中文版

    Spring3.0是该框架的一个重要版本,它引入了许多新特性和改进,为开发者提供了更强大的功能和更好的灵活性。在这个CHM文件中,你将找到3.2版本的API文档,涵盖了所有类和常量字段值,这对于深入理解和使用Spring3.0...

    Spring3.0学习文档

    【Spring3.0 学习文档】主要涵盖了Spring框架的核心特性,包括IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。这两个概念是Spring框架的基础,也是其最核心的技术。 *...

    Spring3.0中文帮助文档

    1. **IoC(Inversion of Control)容器**:Spring的核心特性之一是依赖注入(Dependency Injection,DI),它通过IoC容器来实现。IoC反转了对象创建和管理的控制权,由容器负责实例化、装配和管理对象及其依赖关系,...

    Spring3.0 chmAPI 和 Spring3.0所有jar 和 Spring3.0源码

    Spring3.0版本是一个重要的里程碑,引入了许多新特性和增强,旨在提高开发效率和灵活性。本资源包含Spring3.0的API文档(chm格式)、所有必要的jar包以及源码,非常适合开发者在学习和开发过程中参考。 **Spring3.0...

    Spring3.0+myBatis3.0

    Spring3.0是Spring框架的一个重要版本,引入了许多新特性和改进。其中,最引人注目的是对JSR-303 Bean Validation的支持,使得数据验证更加方便。此外,Spring3.0强化了对RESTful Web服务的支持,增加了对AspectJ的...

    spring3.0学习

    标题 "spring3.0学习" 暗示我们要探讨的是Spring框架的一个重要版本——Spring 3.0。Spring是Java企业级应用开发中广泛使用的开源框架,它简化了依赖注入、事务管理、AOP(面向切面编程)等多个方面的工作。在Spring...

    Spring 3.0就这么简单源码Maven的jar包001

    Spring 3.0是Spring框架的一个重要版本,它在2009年发布,引入了许多新的特性和改进,使得Java企业级应用的开发变得更加简洁和高效。本篇将围绕Spring 3.0的核心特性、Maven的使用以及如何通过源码来深入理解Spring...

    spring 3.0api

    Spring 3.0 API是Java开发中至关重要的一个框架,它是Spring框架的一个主要...通过查阅`Spring3.0-API.chm`文件,开发者可以快速查找并学习到Spring 3.0中的各种功能和API,从而更好地利用Spring进行应用程序的开发。

    spring3.0MVC中文教材

    1. **Java 5的支持**: Spring 3.0全面支持Java 5,利用其新特性如泛型、注解等增强框架的功能。 2. **Spring Expression Language (SpEL)**: 引入了一个新的表达式语言——Spring Expression Language,可以用于定义...

    spring3.0+spring security3.1.4 api chm 中文版

    Spring 3.0是Spring框架的一个重大更新,引入了许多新特性和改进。它增强了IoC(Inversion of Control)容器,使得依赖注入更加灵活。AOP(Aspect Oriented Programming)支持也得到了扩展,不仅支持传统的基于注解...

    spring3.0_doc_api

    这个压缩包"spring3.0_doc_api"包含的是Spring 3.0的官方API文档,通常以CHM(Compiled HTML Help)格式呈现,这种格式便于离线查阅和搜索。 **Spring框架核心概念** 1. **依赖注入(Dependency Injection, DI)**...

    spring 3.0 src

    Spring 3.0引入了许多新特性,优化了核心模块,提升了整体架构的灵活性,为开发者带来了更为强大的功能和更高效的开发体验。 1. **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,允许开发者通过...

    Spring 3.0就这么简单.pdf

    1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,通过DI,对象之间的耦合度被降低,使得代码更易于测试和维护。在Spring 3.0中,DI可以通过XML配置、注解或Java配置三种方式进行。 2. **AOP...

    Spring3.0源代码

    1. **依赖注入**:Spring3.0的核心特性之一,允许开发者通过配置来管理对象之间的依赖关系,而不是硬编码这些依赖。在`src`目录下,可以找到`org.springframework.beans`和`org.springframework.context`包,这两个...

    Spring 3.0 就这么简单(源码)

    1. **依赖注入**:Spring 3.0进一步完善了依赖注入,使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。通过XML配置或注解方式进行DI,使得对象的创建和组装变得更加灵活。 2. **面向切面编程**:AOP是...

    Struts2+Spring3.0+MyBatis3.0平台搭建spring+json+gson+mysql,经典版本spring3.0+,完整架包

    Spring3.0是Spring框架的一个经典版本,其核心特性包括依赖注入和AOP。依赖注入使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。面向切面编程则允许开发者在不修改原有代码的情况下,插入新的行为或增强...

    spring3.0 源码

    这一版本引入了许多新特性,增强了灵活性、可扩展性和性能。本文将深入探讨Spring 3.0源码,揭示其核心设计理念和实现机制,帮助开发者更好地理解和应用这个强大的框架。 一、IoC(Inversion of Control)容器 ...

Global site tag (gtag.js) - Google Analytics