spring 3.0新特性学习
2013-03-29 14:59
225 查看
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>
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>
相关文章推荐
- spring 3.0新特性学习1
- spring 3.0新特性学习1
- Spring3.0官网文档学习笔记(一)
- Spring3.0 学习-AOP面向切面编程_Spring AOP的注解模式即Aspectj模式
- 学习spring 3.0 security和MVC REST遇到的几个问题
- Java 学习笔记03:Spring 3.0 核心机制 IoC
- Spring学习笔记2——高级特性
- MVC学习五:MVC 3.0 的新特性
- spring3.0新特性
- Spring学习笔记2——高级特性
- spring3.0 aop的annotation实现切面,新手学习
- spring boot 学习笔记(二)(servlet 3.0 异步请求)
- 学习dubbo第一步,了解spring框架的XML扩展特性:让spring加载和解析你自定义的XML文件
- 通过TransactionDefinition接口来学习spring事务的隔离级别和传播特性(4.3.4版本)
- Spring3.0官网文档学习笔记(五)--3.3
- Spring Boot 学习笔记(三)——特性
- Spring3.0的新特性及其分析
- Java 学习笔记02:Spring 3.0的安装
- DotNet 3.0+ 新特性学习 之 扩展方法(Extension Method)
- Spring3.0新特性