spring 測試配置

1. 註解方式配置

註解方式配置主要是指,spring的配置方式採用的是註解+java方式配置。這種方式須要制定spring的配置類。 java


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Application.class)
//@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@Transactional
public class DriverRepositoryTest {
    @Autowired
    private DriverRepository driverRepository;

    @Test
    public void testDriver() {

        List<DriverEntity> driverEntityList = driverRepository.findAllByCities(Cities.getCityList());
//        System.out.println(driverEntityList.size() > 0);

        for (DriverEntity entity : driverEntityList) {
            System.out.println(entity.getCity() + " : " + entity.getDayActiveCount());
        }
    }

}



如該段代碼中進行Spring 測試類的配置。採用的是註解方式,而且指定Spring容器的配置類
@ContextConfiguration(classes = Application.class)


2. xml方式配置


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml", "classpath:Consumer.xml"})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public class MailServiceTest {

    private MailSendService mailSendService;

    private ApplicationContext applicationContext;

    @Before
    public void init() {
        applicationContext = new ClassPathXmlApplicationContext(new String[]{"classpath:applicationContext.xml", "classpath:Consumer.xml"});
        mailSendService = (MailSendService) applicationContext.getBean("mailSendService");
    }


    @Test
    public void testSendMail() {

        MailBean mailBean = new MailBean();
        mailBean.setSubject("測試郵件");
        mailBean.setMessage("測試信息");
        mailBean.setSendTo("");

       mailSendService.send(mailBean);
    }

  
}

其和註解的方式相差不大,區別在於兩點:1)  spring

@ContextConfiguration(locations = {"classpath:applicationContext.xml", "classpath:Consumer.xml"})

2) 獲取Bean的方式:註解方式中能夠經過@AutoWired進行自動注入,而該方式中必須經過編程實現。 編程

a app

相關文章
相關標籤/搜索