zoukankan      html  css  js  c++  java
  • Spring---入门

    Spring:是一个分层的一站式轻量级开源框架。Hibernate-持久层的ORM框架,Struts2-Web层的MVC框架

    一站式框架:有EE开发的每一层解决方案
          Web层:SpringMVC
          Service层:Spring的Bean管理,Spring的声明式事务
          Dao层:Spring的JDBC模板,Spring的ORM模块

    1.初步了解IOC(控制反转)

           新建JavaWeb项目,导入jar包
           spring开发环境下载地址https://repo.spring.io/release/org/springframework/spring/   
           下载spring-framework-4.2.3.RELEASE-dist.zip并解压
           

           导入下列jar包
           

           新建UserDao接口以及他的实现类UserDaoImpl随便写个方法,只要能在控制台输出点东西就行。然后在src目录下新建applicationContext.xml文件,引入约束,在开发环境中的spring-framework-4.2.4.RELEASE-distdocsspring-framework-referencehtml下的xsd-configuration.html中页面最底部,有一个例子

           引入约束之后,配置UserDao的bean
           

           编写测试类
           

    2.IOC和DI

           IOC:控制反转,将对象的创建权反转给Spring
           DI:依赖注入,前提是必须有IOC环境,配置了相应的bean。

           当Spring在帮我们创建一个类的示例的时候,发现这个类需要某个属性,他会自动将属性设置到类里面,例如当UserDaoImpl中有一个属性username的时候,传统方式UserDao userDao=new UserDaoImpl(),并不能调用setUsername为其设置name,因为UserDao这个接口中没有这个方法,就无法设置username属性。当将类的创建教给Spring后,他会在创建的时候将该类需要的属性也一并注入到类中(需要给bean配置property标签),这就叫依赖注入(DI),此时输出的值是有username的

    3.Spring的工厂类

        3_1.BeanFactory(老版本)

            BeanFactory---会在调用getBean的时候实例化Spring管理的类

        3_2.ApplicationContext(新版本)

            ApplicationContext---会在加载配置文件的时候实例化Spring管理的类
            ApplicationContext有两个实现类
                 ClassPathXmlApplicationContext.java   :加载类路径下的配置文件(src路径下的配置文件)
                 FileSystemXmlApplicationContext.java  :加载文件系统下的配置文件(项目之外,如本地磁盘上的配置文件)

    4.Spring的配置

         属性注入的方式:

               普通注入:

               使用p名称空间注入:

               使用SpEL属性注入:注入普通属性时字符串需要加单引号,#{}中可以使用其他类的方法或属性,  比 如#{car2.name} , #{car2.getName()}

          

               注入List和Map

          

    5.Spring的IOC注解方式

       入门

           1.在原来的基础上引入spring-aop-4.2.4.RELEASE.jar(一共5个Spring的包,两个日志文件的包)

           2.在src下的applicationContext.xml下引入context的约束,上面引入了bean的约束,bean的约束是最基本的约束,引入方式和上面一样,在html中找context的约束。

           3.在xml中配置要使用注解的包,包下的类就可以使用注解了
            

           4.添加注解

           5.注解方式的属性注入,这种方式不需要提供set方法,只需要在要注入的属性上面加入@Value("要注入的值"),如果有set方法就在set方法上面加上该注解

       注解详情

           1.@Component("id"):组件
                *_修饰一个类,将一个类交给Spring管理
                *_有三个衍生注解(目前功能和Component是一样的)
                       *Controller     :修饰web层
                       *Service         :修饰Service层
                       *Repository    :修饰Dao层

           2.属性注入的注解:
                *  @Value("value"):设置普通属性的值
                *  @Autowried:设置对象类型的属性的值,按照类型完成属性注入(也就是说Component设置的id在这个注解下时没用的,他会找到相应接口的实现类进行注入)
                *  @Resource(name="id"):设置对象类型的属性,按照名称完成注入,id的值必须与你所需对象的Component注解的id值一样

    6.使用XML和注解整合开发(XML管理bean,注解实现属性注入)

           注意添加<context:annotation-config/>配置,原来的<context:component-scan base-package="xx.xxx"/>配置可以删除,这两个配置后者的功能中包括前者的功能,区别大致就是前者用于激活那些已经在spring容器里注册过的bean,后者不仅可以激活,还可以注册bean。详情请参考这篇博客:https://www.cnblogs.com/leiOOlei/p/3713989.html

  • 相关阅读:
    Android进阶篇判断3G/WIFI/WAP
    Android基础篇配置查看Android系统源码
    Android进阶篇Http协议
    Android进阶篇流量统计
    Android进阶篇自定义Menu(设置Menu的背景及文字属性)
    Android进阶篇Gson解析Json数据
    Android进阶篇PopupWindow的使用
    Android数据篇SAX解析XML
    Android进价篇重力感应
    Android进阶篇ListView和Button共存
  • 原文地址:https://www.cnblogs.com/zy-Luo/p/11033214.html
Copyright © 2011-2022 走看看