javaEE笔记

一.Spring概念
1.是一个开源的轻量级框架
2.spring核心主要两部分
  (1)aop:面向切面编程,扩展功能不是修改代码实现
  (2)ioc:控制反转:把对象的创建不通过new的方式,而是交给spring配置创建对象
3.spring是一站式框架
  在javaee的三层结构中,每一层都提供不同的解决办法
   web层:springMVC
   service:spring的ioc
   dao层:spring的jdbcTemplate
4.ioc
  1)把对象的创建交给spring管理
  2)ioc操作两部分
    A.ioc的配置文件方式
    B.ioc的注解方式
  3)底层原理(搞内聚低耦合)
    A.底层使用技术
      a.xml配置文件
      b.dom4j解决XML
      c.工厂设计模式
      d.反射
    
4)配置文件步骤
    A:spring核心配置文件名称和位置不是固定的,建议放到src下面,官方建议名称为applicationContext.xml
    B:引入schema约束
5.Bean管理——配置文件方式
  (1)Bean实例化方式三种
    A:使用类的无参构造创建(重点)
    B:使用静态工厂创建:创建静态方法返回对象
    C:使用实例工厂创建:不是静态方法,而是创建类的对象来返回
  (2)Bean标签常用属性
    id:起名称,id属性值名称任意命名,不能包含特殊符号。根据id得到配置对象
    class:创建对象所在类的全路径
    name:功能和id属性一样,id属性不能包含特殊符号,但是再那么属性值里面可以包含特殊符号,基本不用了。
    scope:包含以下值
      singleton:默认值,单例,只有一个对象
      prototype:多例
      request:创建对象把对象放到request里面
      session:创建对象把对象放到session里面
      globalSession:创建对象把对象放到globalSession里面
  (3)属性注入:创建对象的时候向类里面的属性设置值
    A:Java中的属性注入方式 三种
      a.使用有参构造方法注入
      b.使用set方法注入
      c.使用接口注入
    B:配置文件注入类中属性值,只支持上面a、b两种方法
      a.使用有参构造方法注入,使用constructor-arg标签 ,name属性表示成员变量名,value表示要传入的值
 b.使用set方法注入,使用property标签,name属性表示成员变量名,value表示要传入的值
C:注入对象类型属性(重点)
       若A类中含有B类的对象,用ioc来实现的方法
      a.在A中把B作为类型属性
      b.生成B类型的set方法
      c.在配置文件中注入对象属性,在A中添加属性标签property,name属性表示成员变量名,ref表示类B类配置bean标签中的id值
D:注入复杂数据
     a.数组类型:使用property标签下的list标签下的value标签对数组赋值
     b.List集合:使用property标签下的list标签下的value标签对List集合赋值
     c.map集合:使用property标签下的map标签下的entry标签对map集合赋值,key是键value是值
     d.properties:使用property标签下的props标签下的prop标签对properties赋值,key是实体中的键
E:IOC和DI区别
     IOC:控制反转,把对象的创建交给spring管理
     DI:依赖注入,向类中的属性进行注入值
     关系:依赖注入不能单独存在,需要在IOC基础上完成操作。
      
6.Spring整合Web项目原理
  (1)加载spring核心配置文件
       new对象,功能可以实现,效率很低
  (2)实现思想:要把加载配置文件和创建对象过程在服务器启动时完成
  (3)实现原理:
    A:ServletContext对象
    B:监听器
  (4)具体流程
    A.在服务器启动时,系统为每个项目创建一个ServletContext对象
    B.在ServletContext对象创建的时候使用监听器可以监听到ServletContext对象在什么时候创建
    C.监听到ServletContext创建时,项目加载spring配置文件,把配置文件中的配置对象进行创建
    D.把创建出来的对象放在ServletContext域对象里面(setAttribute()方法)
    E.获取对象时,到ServletContext域得到对象(getAttribute()方法)
    
7.Bean管理——注解方式
  (1)注解:代码里面的特殊标记,使用注解可以完成功能
        注解写法:@注解名称(属性名称=属性值)
        注解可以使用在类、方法和属性上面
  (2)步骤:
    A.导入jar包,包括基本spring包还有一个注解包
    B.创建类,属性和方法
    C.创建配置文件,引入约束,开启注解扫描
D.注解创建对象 4个注解
      @Component(vlaue=”user”) //和< bean id=”user” class=”“>效果一样,user表示对象名
      @Controller:web层
      @Service :业务层
      @Repository :持久层
      4个效果是一样的,用法也一样。
    E:创建单实例对象
      @scope(value=”singleton”) //singleton默认值,单实例 、prototype多实例 其他用法见配置文件方式
  
  (3)属性注入
    A.@Autowired自动注入
    B.@Resourse(name=”user”) :name表示赋值,如果注入对象类型,则和注解创建对象的value值要相同或者配置文件方式创建对象的id相同
      注:使用注解方式,A类中不需要设置B类对象属性的set方法,标签自动注入
  (4)注入对象类型属性
       若A类中含有B类的对象,用注解方式来实现
      A:创建A类和B类
      B:注解方式创建A、B类的对象
      C:在A类中定义B类型属性,用注解标签注入该对象属性
        
7.配置文件和注解混合方式
  创建对象都是使用配置文件方式,注入属性都是用注解方式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值