标签:file 利用 写代码 接受 junit ring 加载 项目 问题
打开File--new project,左边选择spring一栏,
右边勾选spring,下方的勾选springConfig.xml也要选上,会自动生成spring的配置文件
jar文件这里选择download即可,当然也可以灵活选择
webApplication 也勾选上
然后下一步,取好项目名称选择好文件夹后,下一步。我这里是download,所以它会帮我下载jar包
完成后项目目录结构如下,spring配置文件,web的配置文件都有,jar包也非常齐全。
下面是代码,创建了一个接口,然后实现类里重写了这个方法。配置文件里创建了实现类的bean实例,取名为beanA。
测试代码里初始化spring容器,加载spring配置文件。通过容器去获取PersonDao的实例,实例名称是beanA ,配置文件里已经写好beanA 是实现类
然后调用add,打印语句。这里PersonDao对象传入的是实现类的对象。
注意:这个例子其实不算特别好,第一次接触的人可能会纠结在父类和子类的问题,写法上搞不清楚。大家可以把测试类的PersonDao直接换成PersonImp,一样的结果,记住它要告诉你的是框架来帮助我们创建对象。我在下面写了第二个例子
package spring.ioc; public interface PersonDao { public void add(); }
package spring.ioc; public class PersonImp implements PersonDao { public void add() { System.out.println("实现类的add执行了"); } }
package spring.ioc; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class personImpTest { @Test public void test1(){ String xmlPath = "spring-config.xml"; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); PersonDao personDao = (PersonDao) applicationContext.getBean("beanA"); personDao.add(); } }
<bean id="beanA" class="spring.ioc.PersonImp"/>
例子二:我直接创建了一个类,没有采用父类子类的方式,可能新人更容易接受点。好好体会下框架帮助我们创建对象这句话
package spring.ioc; public class People { private String name; public String getName() { System.out.println("name"+name); return name; } public void setName(String name) { this.name = name; } }
String xmlPath = "spring-config.xml"; ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath); People people = (People) applicationContext.getBean("beanB"); people.getName();
<bean id="beanB" class="spring.ioc.People">
<property name="name" value="Jack"/>
</bean>
测试:我们用spring自带的junit进行测试,暂时用不上网页。记得class选择你的测试类,不然会报no testClass之类的错误。
最后,我们一开始创建项目的时候,勾上了webapplication,然而我们也没用到网页。
我们可以直接创建sprIng项目,不勾选web,编写代码进行测试,结果也是一样的,下面是我的测试结果,左侧没有网页目录
标签:file 利用 写代码 接受 junit ring 加载 项目 问题
原文地址:https://www.cnblogs.com/kc1995/p/14355273.html