您的位置:首页 > 编程语言 > Java开发

Spring环境搭建

2017-10-18 22:50 232 查看
/*****************************************************************************************************/ 

10:49 2017/10/18     Spring环境搭建

/*****************************************************************************************************/ 

·Spring的两大核心概念:

     (1)、IOC:控制反转。

     (2)、AOP:面向切面编程。

·Spring是一个轻量级开源框架,提供了对大多数基于java的框架的集成,

  例如Dao的jdbc,hibernate,mybitas,mvc框架struts。

  对于现在大多数企业级项目,可能不用hibernate,可能不用struts2,但是应该都要使用Spring。

·它自己做的事情主要分两个方面:ioc和aop。

  Ioc:inverse control(控制反转)-----控制权与依赖注入:

      控制反转即IoC,它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。

  所谓的"控制反转"概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。

·IoC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:

      <1>、依赖查找(DL):容器提供回调接口和上下文环境给组件。EJB和Apache Avalon都使用这种方式。

      <2>、依赖注入(DI):组件不做定位查询,只提供普通的java方法让容器去决定依赖关系。后者是时下最流行的Ioc类型,其又

  有接口注入,设置注入和构造子注入。三种方式。

·Spring框架可以整合其它两种框架。有一套app接口和整合框架类。             

  Spring主要是实现对对象的管理。   

·面向对象编程与面向横切编程:

    AOP,即面向切面编程,可以说是OOP(面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念建立一种对象层次结构,

  用于模拟公共行为的集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地

  散布在所有对象层次之中,而与它对应的对象的核心功能毫无关系,对于其他类型的代码,如安全性、异常处理和透明的持续性也

  都是如此,这种散布在各处的无关的代码被称为横切(cross cutting),在OOP设计中,它导致了大量代码的重复,而不利于各个

  模块的重用。

    AOP技术恰恰相反,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用

  模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起

  来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

·Spring核心的思想就是对对象的管理。    

·Spring文件夹:

  F:\备份\jar\ssh\spring-framework-3.1.3.RELEASE\docs 是帮助文档。

  F:\备份\jar\ssh\spring-framework-3.1.3.RELEASE\dist 是jar包。

  

·!!!

  Spring中的操作步骤:

     (1)、引入jar包。 F:\备份\jar\ssh\spring-framework-3.1.3.RELEASE\dist 下的所有的jar包。

          还有commons-logging(日志包)。

     (2)、配置核心配置文件。在src下建立beans.xml文件。

     一般核心配置文件:上面是约束,下面才是配置文件。

     实例:

        <?xml version="1.0" encoding="UTF-8"?>

        <beans xmlns="http://www.springframework.org/schema/beans"

               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xsi:schemaLocation="http://www.springframework.org/schema/beans

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

     (3)、创建user实体类。在配置文件中写相当于创建对象。

     (4)、写测试类:

           ·加载配置文件:
   BeanFactory factory = new ClassPathXmlApplicationContext("beans.xml");

·范例:

    (1)、user实体类:

         package com.wk.model;

            public class user {

            public void show(){

               System.out.println("hello Spring");

           }

      }

    (2)、test测试类:

      package com.wk.test;

        import static org.junit.Assert.*;

        import org.junit.Test;

        import org.springframework.beans.factory.BeanFactory;

        import org.springframework.context.support.ClassPathXmlApplicationContext;

        import com.wk.model.user;

        public class TestUser {
@Test
    public void test01() {

            //加载xml配置文件。
   BeanFactory factory = new ClassPathXmlApplicationContext("beans.xml");
       //得到配置文件中的对象
   user u = (user)factory.getBean("user");//向下转型易出差错

            //           user u = factory.getBean("user",user.class);//运行时类,这样就避免了强制转换
   u.show();
}

    }

   (3)、beans配置文件:

        <?xml version="1.0" encoding="UTF-8"?>

         <beans xmlns="http://www.springframework.org/schema/beans"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://www.springframework.org/schema/beans

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

        <!-- 相当于User user = new User() -->

        <bean id = "user" class = "com.wk.model.user"></bean>

        </beans>

   !!!注意上面中的类名要写正确。(class中)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring框架