zoukankan      html  css  js  c++  java
  • Spring的学习1

    Spring概念

    1 spring是开源的轻量级框架

    2 spring核心主要两部分:

    1aop:面向切面编程,扩展功能不是修改源代码实现

    2ioc:控制反转,

    - 比如有一个类,在类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象

    - 把对象的创建不是通过new方式实现,而是交给spring配置创建类对象

    3 spring是一站式框架

    1springjavaee三层结构中,每一层都提供不同的解决技术

    - web层:springMVC

    - service层:springioc

    - dao层:springjdbcTemplate

    4 spring版本

    1hibernate5.x

    2spring4.x

    Springioc操作

    1 把对象的创建交给spring进行管理

    2 ioc操作两部分:

    1ioc的配置文件方式

    2ioc的注解方式

    IOC底层原理

    1 ioc底层原理使用技术

    1xml配置文件

    2dom4j解决xml

    3)工厂设计模式

    4)反射

    2 画图分析ioc实现原理

     

    IOC入门案例

    第一步 导入jar

    1)解压资料zip文件

    Jar特点:都有三个jar

     

    2)做spring最基本功能时候,导入四个核心的jar包就可以了

    3)导入支持日志输出的jar

     

    第二步 创建类,在类里面创建方法

     

    第三步 创建spring配置文件,配置创建类

    1spring核心配置文件名称和位置不是固定的

    - 建议放到src下面,官方建议applicationContext.xml

    2)引入schema约束

     

    3)配置对象创建

     

    第四步 写代码测试对象创建

    1)这段代码在测试中使用

     

    配置文件没有提示问题

    1 spring引入schema约束,把约束文件引入到eclipse

    1)复制约束路径

     

    Springbean管理(xml方式)

    Bean实例化的方式

    1 spring里面通过配置文件创建对象

    2 bean实例化三种方式实现

    第一种 使用类的无参数构造创建(重点)

     

    类里面没有无参数的构造,出现异常

     

    第二种 使用静态工厂创建

    1)创建静态的方法,返回类对象

     

    第三种 使用实例工厂创建

    1)创建不是静态的方法,返回类对象

     

    Bean标签常用属性

    1id属性:起名称,id属性值名称任意命名

    - id属性值,不能包含特殊符号

    - 根据id值得到配置对象

    2class属性:创建对象所在类的全路径

    3name属性:功能和id属性一样的,id属性值不能包含特殊符号,但是在name属性值里面可以包含特殊符号

    4scope属性

    - singleton:默认值,单例

     

    - prototype:多例

     

    - request:创建对象把对象放到request域里面

    - session:创建对象把对象放到session域里面

    - globalSession:创建对象把对象放到globalSession里面

    属性注入介绍

    1 创建对象时候,向类里面属性里面设置值

    2 属性注入的方式介绍(三种方式)

    1)使用set方法注入

    2)使用有参数构造注入

    3)使用接口注入

     

    3 spring框架里面,支持前两种方式

    1set方法注入(重点)

    2)有参数构造注入

    使用有参数构造注入属性

    使用set方法注入属性(重点)

     

    注入对象类型属性(重点)

    1 创建service类和dao

    1)在service得到dao对象

    2 具体实现过程

    1)在service里面把dao作为类型属性

    2)生成dao类型属性的set方法

     

    3)配置文件中注入关系

     

    P名称空间注入

     

     

    注入复杂类型属性

    1 数组

    2 list集合

    3 map集合

    4 properties类型

    <!-- 注入复杂类型属性值 -->
    
    <bean id="person" class="cn.itcast.property.Person">
    
    <!-- 数组 -->
    
    <property name="arrs">
    
    <list>
    
    <value>小王</value>
    
    <value>小马</value>
    
    <value>小宋</value>
    
    </list>
    
    </property>
    
     
    
    <!-- list -->
    
    <property name="list">
    
    <list>
    
    <value>小奥</value>
    
    <value>小金</value>
    
    <value>小普</value>
    
    </list>
    
    </property>
    
     
    
    <!-- map -->
    
    <property name="map">
    
    <map>
    
    <entry key="aa" value="lucy"></entry>
    
    <entry key="bb" value="mary"></entry>
    
    <entry key="cc" value="tom"></entry>
    
    </map>
    
    </property>
    
     
    
    <!-- properties -->
    
    <property name="properties">
    
    <props>
    
    <prop key="driverclass">com.mysql.jdbc.Driver</prop>
    
    <prop key="username">root</prop>
    
    </props>
    
    </property>
    
    </bean>

    IOCDI区别

    1IOC: 控制反转,把对象创建交给spring进行配置

    2DI: 依赖注入,向类里面的属性中设置值

    3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作

    Springbean管理(注解)

    注解介绍

    1 代码里面特殊标记,使用注解可以完成功能

    2 注解写法 @注解名称(属性名称=属性值)

    3 注解使用在类上面,方法上面 和 属性上面

    Spring注解开发准备

    1 导入jar

    1)导入基本的jar

     

    2)导入aopjar

     

    2 创建类,创建方法

    3 创建spring配置文件,引入约束

    1)第一天做ioc基本功能,引入约束beans

    2)做springioc注解开发,引入新的约束

     

    4 开启注解扫描

     

    注解创建对象

    1 在创建对象的类上面使用注解实现

     

    2 创建对象有四个注解

     

    1@Component

    2@Controller

    3@Service

    4@Repository

    目前这四个注解功能是一样的,都创建对象

    3 创建对象单实例还是多实例

     

    注解注入属性

    1 创建service类,创建dao类,在service得到dao对象

    注入属性第一个注解 @Autowired

    1)创建daoservice对象

    2)在service类里面定义dao类型属性

     

    注入属性第二个注解 @Resource

     

    配置文件和注解混合使用

    1 创建对象操作使用配置文件方式实现

     

    2 注入属性的操作使用注解方式实现

     

     

    Spring整合web项目原理

    1 加载spring核心配置文件,

     

    1new对象,功能可以实现,效率很低

    2 实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成

    3 实现原理

    1ServletContext对象

    2)监听器

    3)具体使用:

    - 在服务器启动时候,为每个项目创建一个ServletContext对象

    - ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建

    - 使用监听器监听到ServletContext对象创建时候,

    -- 加载spring配置文件,把配置文件配置对象创建

    -- 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)

    - 获取对象时候,到ServletContext域得到 (getAttribute方法)

  • 相关阅读:
    ubuntu(14.4) 安装phpmyadmin
    ubuntu(14.04) 安装ssh,并使用root用户登录
    ubuntu(14.04版本) 配置虚拟环境(一个ip对应多个域名)
    ubuntu 中数据的迁移
    ubuntu修改固定ip
    作业调度框架_Quartz
    tomcat设置端口号和默认webapp
    HTTP深入浅出 http请求
    HTTP协议详解
    如何准备阿里社招面试,顺谈 Java 程序员学习中各阶段的建议【转】
  • 原文地址:https://www.cnblogs.com/sort/p/8654240.html
Copyright © 2011-2022 走看看