Spring入门

1.Spring概述Spring是一个分层的、轻量级的、一站式的Java开源框架。2.Spring的优点(1)方便解耦,简化开发Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring来管理;(2)AOP编程的支持Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能;(3)声明式事务的支持只需要通过配置就可以完成对事务的管理,无需手动编程;(4)方便...

Spring入门

1.Spring概述

  Spring是一个分层的、轻量级的、一站式的Java开源框架。

2.Spring的优点

  (1)方便解耦,简化开发

      Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring来管理;

  (2)AOP编程的支持

      Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能;

  (3)声明式事务的支持

       只需要通过配置就可以完成对事务的管理,无需手动编程;

  (4)方便程序的测试

      Spring对Junit4支持,可以通过注解方便的测试Spring程序;

  (5)方便集成各种优秀的框架

      Spring不排除各种优秀的开源框架,其内部提供了对各种优秀框架(Struts、Hibernate、Mybatis、Quartz等)的直接支持

  (6)降低JavaEE API的使用难度

      Spring对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等)都提供了封装,使这些API应用难度大大降低

3.Spring的核心

  (1)IOC反转控制

    a.什么是IOC?

      Inversion of Control 控制反转,指的是将对象的创建权交给Spring,作用是降低程序的耦合性

    b.实现步骤

      步骤一:下载Spring开发包

          官网:http://spring.io

          下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring

      步骤二:创建web项目,引入Spring开发包

          

          

      步骤三:引入相关配置文件

          applicationContext.xml

          引入约束:

          spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html/xsd-configuration.html(约束所在文件)

                

          <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.xsd">

          </beans>

      步骤四:编写相关类

          

      步骤五:完成配置

          <!-- Spring的入门案例================ -->

         <bean id="userDao" class="cn.itcast.spring.demo1.UserDaoImpl"></bean>

      步骤六:测试程序    

         @Test

         // Spring的方式:

         public void demo2(){

          // 创建Spring的工厂类:

          ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

          // 通过工厂解析XML获取Bean的实例.

          UserDao userDao = (UserDao) applicationContext.getBean("userDao");

          userDao.sayHello();

         }

          

          Spring中的工厂了解

          1.applicationContext接口

            ClassPathXmlApplicationContext  --加载类路径下的Spring配置文件

            FileSystemXmlApplicationContext  --加载本地磁盘下的Spring配置文件

          2.BeanFactory工厂(Spring早期创建bean对象的工厂接口)

            public void run(){
               BeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
               UserService us = (UserService) factory.getBean("us");
               us.sayHello();
            }

          3.BeanFactory和ApplicationContext的区别

            * BeanFactory-- BeanFactory采取延迟加载,第一次getBean时才会初始化Bean
            * ApplicationContext -- 在加载applicationContext.xml时候就会创建具体的Bean对象的实例,还提供了一些其他的功能
            * 事件传递
            * Bean自动装配
            * 各种不同应用层的Context实现

    c.Spring框架的Bean管理的配置文件方式

        技术分析之Spring框架中标签的配置

        1. id属性和name属性的区别
          * id -- Bean起个名字,在约束中采用ID的约束,唯一
          * 取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号 id:不能出现特殊字符

          *name-- Bean起个名字,没有采用ID的约束(了解)
          * 取值要求:name:出现特殊字符.如果<bean>没有id的话 , name可以当做id使用
          * Spring框架在整合Struts1的框架的时候,Struts1的框架的访问路径是以/开头的,例如:/bookAction

        2. class属性 -- Bean对象的全路径
        3. scope属性 -- scope属性代表Bean的作用范围
          * singleton-- 单例(默认值)
          * prototype-- 多例,在Spring框架整合Struts2框架的时候,Action类也需要交给Spring做管理,配置把Action类配置成多例!!
          * request -- 应用在Web项目中,每次HTTP请求都会创建一个新的Bean
          * session -- 应用在Web项目中,同一个HTTP Session 共享一个Bean
          * globalsession -- 应用在Web项目中,多服务器间的session

        4. Bean对象的创建和销毁的两个属性配置(了解)
          * 说明:Spring初始化bean或销毁bean时,有时需要作一些处理工作,因此spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法
          * init-method -- 当bean被载入到容器的时候调用init-method属性指定的方法
          * destroy-method -- 当bean从容器中删除的时候调用destroy-method属性指定的方法
          * 想查看destroy-method的效果,有如下条件
          * scope= singleton有效
          * web容器中会自动调用,但是main函数或测试用例需要手动调用(需要使用ClassPathXmlApplicationContext的close()方

源文地址:http://www.guoxiongfei.cn/cntech/11665.html
0