Spring 小结(一)

来源:互联网 发布:ipad淘宝卖家 编辑:程序博客网 时间:2024/05/21 17:22

Spring简介

1.简介
Spring是一个开源框架,它由Rod Johnson创建。他是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJb完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
2.目的:解决企业应用开发的复杂性
3.功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
4.范围:任何Java应用。
Spring其实就是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架
5.轻量–从大小与开销方面而言Spring都是轻量的完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
6.控制反转–Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为 IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
7.面向切面–Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
8.容器–Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
9.框架–Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

Spring的下载

1.方法

你要在官网的projects里找到spring framework,然后左侧的"小猫"图标,跳到github,在Downloading artifacts下面 找到 building a distribution with dependencies的超链,进去后再找 到 the SpringSource repository的超链,接着打开Spring repository FAQ后,找到libs- release-local,进去后点Artifacts页签,再在左边的列表里先simple brower,后面的流程和第二步一样

2.Spring4.0.0链接下载

Spring在IDEA中的创建

1.在新建项目中选择Spring应用,在第一次使用的时候,当IDEA未检测到spring的核心库,则会在新建过程中下载对应的文件,当已经下载好Spring的zip包之后可选择路径来添加Spring的核心库。

2.在使用Spring时,必须导入commons-logging.jar包,该包为spring的日志包,commons-logging.jar包下载

使用Spring输出HelloWorld

//创建Hello World类public class HelloWorld {    private String name;    public void setName(String name){        this.name=name;    }    public void hello(){        System.out.println("name:"+name);    }    public HelloWorld() {    }}//创建带main函数的类public class Main {    public static void main(String[] args){        /**         * 前两步都可以使用spring来进行操作         * */      //创建对象         HelloWorld helloWorld = new HelloWorld();        //为对象赋值        helloWorld.setName("My name is");      //3.调用方法              helloWorld.hello();    }}

这样调用以后会在控制台输出name:My name is

使用Spring需要使用Spring的配置文件,创建一个Spring的xml配置文件

使用IDEA创建配置文件在src下,右击菜单选择XML  Configuration File --> Spring Config 选择以后命名为applicationContext.xml在改配置文件中进行配置设置 <!--配置bean-->    <bean id="helloWorld" class="com.hongkun.spring.beans.HelloWorld">        <property name="name2" value="Spring"></property>    </bean>bean 标签内的id为实例化类的命名class 为需要实例化的类property标签内的  name属性为需要传值的属性名  value为传进的属性值。

在HelloWorld类中添加一个新属性

public class HelloWorld {    private String name;    private String name2;    public void setName2(String name2) {        this.name2 = name2;    }    public void setName(String name){        this.name=name;    }    public void hello(){        System.out.println("My name is"+name2);    }    public HelloWorld() {    }}

在main方法中调用

public class Main {    public static void main(String[] args){//        /**//         * 前两步都可以使用spring来进行操作//         * *///        //创建对象//        HelloWorld helloWorld = new HelloWorld();//        //为对象赋值//        helloWorld.setName("qihongkun");        //1.创建Spring的IOC容器对象        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");        //2.从IO从容器中获取Bean实例//        HelloWorld helloWorld = (HelloWorld) ctx.getBean("helloWorld");//        //3.调用方法//        helloWorld.hello();    }}

在控制台输出为 My name is Spring ,证明在xml文件中写入的值成功传入进去。