24-Spring_Basic-1

声明:

        在学习Spring的某视频的时候,突然发现基础非常不牢固,特此选了一个视频教程,计划用一整周的时间,把spring基础学完学好

1.概述

关于整个spring的知识是一定要掌握的:spring跟spring并不一样,spring是一个大的框架概念,spring为核心的框架可以整合很多框架

我们按照从外到里的顺序来讲一下spring大概念,大框架

浏览器==>控制层,这里的控制层就是指的,接受request,然后response并且控制视图的那一层,这一层所用到的主流技术就是:

strust2的action和SpringMVC的handler,学习完spring大概念要以后,下一步肯定就是要学习springMVC,先把spring学好

2.Spring特性

没有看spring的底层代码,但是Spring有最基本的2大特性:IOC + AOP

IOC:

之前在写Java SE程序或者写android1的时候,类与类之间,经常会遇到需要通过构造函数注入,类与类之间紧耦合,而IOC通过容器的方式,用接口的实现类,实现从IOC容器里面拿beans,这样就实现了各个bean的松耦合

AOP:

我们的程序一直都是从上到下,从入口函数一次往下运行,无论是面向对象的程序,还是面向过程的程序,而AOP所谓的面向切面,意思就是,如果把从上到下的这种程序运行方式称之为纵向,那么面向切面变成,就是通过把从上到下的运行的某一个或某一类程序,进行横向的处理,比如前置处理,后置处理,环绕处理,把纵向运行的程序进行横向封装,这种编程技术,就是面向切面变成AOP

3.准备

非maven的方式,jar包全部要导进来,然后添加路径依赖

需要下载一下springIDE插件:spring-tool-suite,关掉联网更新

4.用xml来配置bean

创建了一个名为spring bean configuration file的一个名为applicationContext.xml的配置文件

步骤:

         1.:ClassPathXmlApplicationContext-->从类路径加载,通过这个接口拿到一个实现类,然后通过这个实现类去对xml里面已经配置好了的bean进行操作创建spring容器:ApplicationContext ctx = new ClassPathXmlApplicationContext("路径");还有一种实现接口的方式,不是使用类路径,而是系统文件路径:FileSystemXmlApplicationContext-->从文件系统的xml中加载配置文件

         2.在xml创建各种各样的bean,记住,穿件的bean的时候,对应的bean的java代码里面一定要有无参构造函数

         3.从IOC容器里面拿bean,通过getClass或者getName

5.用xml配置bean的细节

         1.属性注入(property)-->使用set方法注入属性值(最常用)

对应的java代码里面一定要有写set方法

         2.构造器注入(constructor-arg)--> 使用 <constructor-arg>,后面要加index来表明,注入的是哪个全局变量,还可以用type类型来指定注入的是哪个全局变量,index和type可以混合使用

         3.在配置bean的时候,如果没有传初始化参数,对象默认的就是null,int就是0

         4.在一个bean里面用另一bean,有点类似h5,使用ref来引用其他bean

         5.如果需要再bean里面配置一个集合,使用到的子node就是list标签.

         6.内部bean,一个内部bean是不能被其他bean引用的,所以这个内部bean写不写id都无所谓

         7.级联属性,在注入bean的时候,可以这样写,name="ClassName.property",但是有一个前提,级联的这个类要先被初始化

         8.Map,之前的list标签,对应的是数组array,现在的Map对应的子node是entry里面写key + value

         9.properties,之前数据库配置参数里面见过,username,pwd,jdbcurl等,就是一个数据类型,这里用到的子node是props的prop

         10.可以供外部调用的bean,之前写的bean全部只能给自己调用,现在需要用到打开新的命名空间,找到util,然后有一个叫做<util:list>的node,就可以在里面配置可以供给外部调用的bean了,

         11.如果非要用xml配置bean,不要使用property,使用在标签里面使用p属性

         12.autowire自动装配,在装配bean的时候,可以使用autowire自动装备,但是一般情况下不要使用,容易出错,这里有byName,按照bean所在java代码里面的全局变量名进行装配,而byType是按照类的类型进行装配,如果有2个以上相同类的bean,就会报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值