Spring3.0新特性

1、JUnit测试类AbstractJUnit4SpringContextTests
@ContextConfiguration("classpath:beans.xml")
public class UserDAOTest extends AbstractJUnit4SpringContextTests {
    @Resource(name="userDAO")
    private UserDAO userDAO;

    @Test
    public void testSave() {
        this.userDAO.save(new User());
    }
}
@ContextConfiguration:指明需要到哪个xml文件里去找

2、context.getBean可以使用泛型,不用强制转换了
public class UserDAOTest2 {
    @Test
    public void testSave() {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        //原来的取法
        //UserDAO userDAO = (UserDAO)context.getBean("userDAO");
        //现在的取法
        UserDAO userDAO = context.getBean("userDAO", UserDAO.class);
        userDAO.save(new User());
    }
}
getBean的时候指明了,拿出来是要用什么类型来对待,不需要强制转换了

3、三种配置方式
XML
Annotation
JavaConfig(需要CGLIB和asm包)

JavaConfig:用Java代码写配置文件,@Configuation、@Bean和context:component-scan配合使用
@Configuation
public class AppConfig {
    @Bean
    public UserDAO userDAO() {
        return new UserDAOImpl();
    }

    //xml
    //<bean id="userDAO" class="userDAO()"/>
}
4、SpEL表达式
什么是动态语言?
有个字符串"new HelloWorld().sayHello()",动态语言就是可以把字符串当作代码来执行
比如javascript里的eval("alert('ok');");
<bean id="my" class="com.bjsxt.spring30.spel.MyBean">
    <property name="randomNumber" value="#{T{java.lang.Math}.random() * 100}"></property>
    <property name="userRegion" value="#{systemProperties['user.country]}"></property>
</bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值