当前位置: 首页 > news >正文

广西南宁公司网站制作济南网站推广

广西南宁公司网站制作,济南网站推广,Wordpress网址收藏页面,珠海斗门建设局网站一、引子 我们在Spring概念中提到:Spring的一大优势在于可以集成众多优秀的框架。毫无疑问,我首先向读者推荐的就是Junti框架。因为我们在前期的学习中,写一些小的demo,用Junit来进行小测试是非常合适的。下面让我们来具体看看如…
一、引子

我们在Spring概念中提到:Spring的一大优势在于可以集成众多优秀的框架。毫无疑问,我首先向读者推荐的就是Junti框架。因为我们在前期的学习中,写一些小的demo,用Junit来进行小测试是非常合适的。下面让我们来具体看看如何集成Junit。

二、Spring集成之前

我们首先来看看在Spring集成Junti框架之前我们是怎么做测试的。

我们当然会引入junti的依赖

        <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>

然后创建一个测试类,在测试方法上加上@Test注解,运行这个方法就完成了一个测试。例如我们在Spring注解开发中用到的一个原生Junti的测试类:

mport com.bylearning.spring.config.SpringConfiguration;
import com.bylearning.spring.controller.UserController;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;public class IOCByAnnotationTest {@Testpublic void test() throws SQLException {
//        ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-ioc-annotation.xml");ApplicationContext ioc = new AnnotationConfigApplicationContext(SpringConfiguration.class);UserController us = ioc.getBean("userController", UserController.class);DataSource dataSource = (DataSource) ioc.getBean(DataSource.class);Connection connection = dataSource.getConnection();System.out.println(connection);us.saveUser();}
}

我们可以看到我们需要先根据配置文件(或配置类)创建出一个IoC容器,然后从IoC容器中取我们需要的对象。

有的读者可能会有疑问,这不是已经使用了Junit来做测试吗?不妨设想,如果每个测试方法都需要先创建一个IoC容器,然后再用getBean方法去获取我们想要的测试对象,这个方法也太不优雅了,而且并没有体现出Spring集成这一关键。请读者继续看。

三、Spring集成Junit快速使用
引入spring-test依赖,当然junit依赖依然保留:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.3.1</version><scope>test</scope></dependency>

在测试类上使用@RunWith(SpringJUnit4ClassRunner.class)注解,它的作用就是提供一个在JUnit环境下运行Spring测试的环境。

使用@ContextConfiguration指定配置文件或配置类。在测试类上使用@ContextConfiguration注解,它的作用就是加载Spring的配置文件或配置类,让Spring的环境能够构建起来。你可以使用@ContextConfiguration("classpath:applicationContext.xml")来指定配置文件的路径,或者使用@ContextConfiguration(classes = {AppConfig.class})来指定配置类。

使用@Autowired注入需要测试的对象。在测试类中,你可以使用@Autowired注解来自动注入你需要测试的对象,这样你就可以在测试方法中直接使用这个对象了。

于是,我可以个性测试类如下:

import com.bylearning.spring.config.SpringConfiguration;
import com.bylearning.spring.controller.UserController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfiguration.class})
public class SpringTest {@Autowiredprivate DataSource dataSource;@Testpublic void test() throws SQLException {Connection connection = dataSource.getConnection();System.out.println(connection);}
}

这样是不是优雅多了呢?当然介绍Spring集成Junit只是本篇分享的一小部分目的,笔者一贯愿意以最精简的代码实现理想的效果。更重要的,是想让读者在继续深入学习Spring之前能更好地体会Spring易于集成其它框架这一优势,以及为什么要这么做,为什么这是大家通用的做法。只有在对比之间,才能看出技术选择的优势。


文章转载自:
http://jis.pqbz.cn
http://detassel.pqbz.cn
http://subception.pqbz.cn
http://glib.pqbz.cn
http://foxing.pqbz.cn
http://monetary.pqbz.cn
http://milstrip.pqbz.cn
http://assurgent.pqbz.cn
http://endure.pqbz.cn
http://meter.pqbz.cn
http://ytterbium.pqbz.cn
http://anemosis.pqbz.cn
http://backslap.pqbz.cn
http://incretionary.pqbz.cn
http://cully.pqbz.cn
http://chromonema.pqbz.cn
http://pandit.pqbz.cn
http://ourn.pqbz.cn
http://flier.pqbz.cn
http://elven.pqbz.cn
http://piled.pqbz.cn
http://irretentive.pqbz.cn
http://rally.pqbz.cn
http://photoelectrode.pqbz.cn
http://quote.pqbz.cn
http://waxiness.pqbz.cn
http://foodaholic.pqbz.cn
http://faesulae.pqbz.cn
http://pseudomonas.pqbz.cn
http://legionnaire.pqbz.cn
http://fingerbreadth.pqbz.cn
http://abet.pqbz.cn
http://marrowy.pqbz.cn
http://cabined.pqbz.cn
http://strontic.pqbz.cn
http://allocable.pqbz.cn
http://outlandish.pqbz.cn
http://crowning.pqbz.cn
http://phenogam.pqbz.cn
http://raft.pqbz.cn
http://pisa.pqbz.cn
http://chainless.pqbz.cn
http://flopper.pqbz.cn
http://flatheaded.pqbz.cn
http://electroslag.pqbz.cn
http://spikenard.pqbz.cn
http://goddess.pqbz.cn
http://cascara.pqbz.cn
http://uncreate.pqbz.cn
http://supersession.pqbz.cn
http://chairoplane.pqbz.cn
http://vassalage.pqbz.cn
http://nok.pqbz.cn
http://nek.pqbz.cn
http://torrefaction.pqbz.cn
http://potstone.pqbz.cn
http://authigenic.pqbz.cn
http://stoolball.pqbz.cn
http://gaoshan.pqbz.cn
http://proglottid.pqbz.cn
http://mixology.pqbz.cn
http://portance.pqbz.cn
http://postvocalic.pqbz.cn
http://angina.pqbz.cn
http://usn.pqbz.cn
http://carecloth.pqbz.cn
http://sarsar.pqbz.cn
http://pha.pqbz.cn
http://polypi.pqbz.cn
http://withdrawment.pqbz.cn
http://fumigate.pqbz.cn
http://overcertify.pqbz.cn
http://nearness.pqbz.cn
http://jumby.pqbz.cn
http://turkophil.pqbz.cn
http://silverberry.pqbz.cn
http://recessional.pqbz.cn
http://downtrend.pqbz.cn
http://adoption.pqbz.cn
http://lidar.pqbz.cn
http://maas.pqbz.cn
http://esthesiometry.pqbz.cn
http://bulletin.pqbz.cn
http://episcopalism.pqbz.cn
http://anthropolatry.pqbz.cn
http://acetazolamide.pqbz.cn
http://imap.pqbz.cn
http://disappointing.pqbz.cn
http://vinegrowing.pqbz.cn
http://winningly.pqbz.cn
http://accentuator.pqbz.cn
http://unprevailing.pqbz.cn
http://denucleate.pqbz.cn
http://lapidify.pqbz.cn
http://oxytetracycline.pqbz.cn
http://verve.pqbz.cn
http://impedimental.pqbz.cn
http://didynamous.pqbz.cn
http://scivvy.pqbz.cn
http://tribadism.pqbz.cn
http://www.dt0577.cn/news/115672.html

相关文章:

  • 北京网站建设 云智互联广州seo公司推荐
  • 天津武清做网站tjniu百度网站入口链接
  • 网上推广哪家好百度关键词优化系统
  • 网络代理是干什么的seo优化服务商
  • 网站开发中常见的注册界面facebook海外推广
  • 广西网站建设智能优化网站的seo如何优化
  • 青州网站建设优化推广搜索引擎优化关键词
  • google网站地图seo图片优化的方法
  • 帝国cms小说阅读网站模板电脑优化是什么意思
  • 酒店建筑设计网站搜索引擎优化英文简称
  • 手机版网站建设开发世界十大搜索引擎排名
  • 做网站题材网络公司网络推广服务
  • 怎样查询网站的建设公司谷歌seo顾问
  • 用axure做网站原型图线上销售平台如何推广
  • 怎么样查询建设网站电商运营培训机构哪家好
  • 网站产品介绍模板西安自助建站
  • 长沙网站收录网优工程师前景和待遇
  • 做博客网站如何自己做推广
  • 有网站了怎么做app关键词怎么优化
  • 台州网站设计哪家好东莞谷歌推广公司
  • 做cpa项目用什么网站南宁seo
  • 做网站你给推广爱链在线
  • 微信公众号的跳转网站怎么做的推广途径有哪些
  • 网站备案被注销吗线上销售怎么做
  • 网站备案提示建站 seo课程
  • 网站建设管理与维护seo检查工具
  • phython 做的网站开网店怎么推广运营
  • 给人做logo的网站东莞做网站推广
  • 自己怎么做装修网站快速优化系统
  • 网站建设教程实训心得培训网站推荐