`
Longmanfei
  • 浏览: 46494 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

"Spring"来啦winter还会远嘛

阅读更多

    就这样,春天来了吗?,就这样“鸟语花香”了吗?Spring 真的来啦,那winter还会远吗?

答案是:说是迟那是快。你还在踌躇吗,那就让我们赶紧开始我们的spring 之旅吧!

Spring 初体验

首先介绍一下究竟什么是spring 其意"春天" Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOPAspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVCSpring 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/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<!--id为利用反射机制创建的对象名称一般清空为了便于记忆写成对应的class里的类名-->

<bean id="greetingDaoImpl" class="cn.csdn.dao.GreetingDaoImpl">

<!--name对应bean里对应的属性value为属性值-->

<property name="say" value="你好"></property>

</bean>

<bean id="greetingServiceImpl"

class="cn.csdn.service.GreetingServiceImpl">

<!--ref应用一个bean实体对象-->

<property name="gdi" 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();

   

   }

}

 

 

2
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics