"Spring"来啦winter还会远嘛
??? 就这样,春天来了吗?,就这样“鸟语花香”了吗?Spring?真的来啦,那winter还会远吗?
答案是:说是迟那是快。你还在踌躇吗,那就让我们赶紧开始我们的spring?之旅吧!
Spring?初体验
首先介绍一下究竟什么是spring?其意"春天"?Spring是一个轻型容器(light-weight?container),其核心是Bean工厂(Bean?Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented?Programming,?面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web?MVC和Spring?Web提供了Java?Web应用的框架或与其他流行的Web框架进行集成。
环境搭建
那我们如何搭建spring开发环境呢?由于我只做Ioc操作,所以我们只需引入spring.jar和日志文件。在引入jar包之后我们就来创建一个xml文件一般情况下我们命名为applicationContext.xml?路径存放src下
实现控制反转代码:
Xml文件
<?xml version="1.0" encoding="UTF-8"?><beans <!--默认命名空间-->xmlns="http://www.springframework.org/schema/beans"<!--w3c标准 XMLSchema-instance-->xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<!--schema约束对应地址-->xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><!--id为利用反射机制创建的对象名称一般清空为了便于记忆写成对应的class里的类名--><bean id="greetingDaoImpl" value="你好"></property></bean><bean id="greetingServiceImpl"ref="greetingDaoImpl"></property></bean></beans>Dao的实现层//接口public interface GreetingDao { void say();}//实现接口public class GreetingDaoImpl implements GreetingDao { private String say;public void say() {System.out.println("我打了这个招呼"+say);}public void setSay(String say) {this.say = say;} }Service 实现层//继承dao的实现层public interface GreetingService extends GreetingDao {}//service实现public class GreetingServiceImpl implements GreetingService{ private GreetingDaoImpl gdi;public void say() {gdi.say();}public void setGdi(GreetingDaoImpl gdi) {this.gdi = gdi;} }Junit测试public class GreetingTest { @Test public void test(){ApplicationContext ac=new ClassPathXmlApplicationContext("Longmanfei.xml"); //控制反转成对象,并且在此时调用相应的set方法进行say的赋值 GreetingServiceImpl gsi=(GreetingServiceImpl) ac.getBean("greetingServiceImpl");gsi.say(); } @Test public void test1(){ /*加载spring容器可以解析多个配置文件采用数组方式传递*/ ApplicationContext ac=new ClassPathXmlApplicationContext(new String[]{"Longmanfei.xml"}); //直接转换成接口便于日后修改数据/*Ioc控制反转体现*/ GreetingService gs=(GreetingService) ac.getBean("greetingServiceImpl"); gs.say(); } @Test public void test2(){ /*加载spring容器可以解析多个配置文件采用数组方式传递*/ ApplicationContext ac=new FileSystemXmlApplicationContext(new String[]{"src/Longmanfei.xml"}); //直接转换成接口便于日后修改数据/*Ioc控制反转体现*/ GreetingService gs=(GreetingService) ac.getBean("greetingServiceImpl"); gs.say(); }}?
?