读书人

quot;Springquot;来啦winter还会遥嘛

发布时间: 2012-12-22 12:05:06 作者: rapoo

"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();      }}

?

?

读书人网 >编程

热点推荐