`
ricky_love
  • 浏览: 411237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring整理笔记(概要)

阅读更多
[color=darkred][color=blue]
12月10日
1.IOC控制反转———由容器维护程序之间的 依赖关系! (好莱坞原则)
2、依赖注入—— 从注入的角度
   i   接口注入
   ii  方法注入
   iii 构造子注入
3、BeanFactory
   
   beanFactory在 大多的情况下不直接使用,而是使ApplicationContext
4、XMLBeanFactory的2种加载方式(1)class path
                               (2)FILE
5.BeanFactory管理Bean(组件)的生命周期。
6.Bean的 定义
<bean id="bean的名字 "  name="别名 可以用各种字符"
       class="类名 必须是 全限定类名"
       singleton="ture 表示单例 false表示原型 默认情况为单例 对于原型的 处理采用克隆的方法 克隆分为深度克隆,和浅克隆"
   
   />
7 通过set方法 的 注入依赖



12 月12日


1.复杂属性 (重点)

 
2.自动 装配:在 bean过多的时候 不建议使用
3、继承 关系  (重点)
  通常我们所用的继承关系由两种:(1) 种是两个具体 类直接的 父子继承类
                                 (2)通过 IOC的机制,用配置文件实现两个                                     类的继承关系 
   abstracat : 针对父类,将其认定为 true 该类为抽象类,但可能不是 真                正意义上的 抽象类
   parent  :  针对子类,继承上面abstracat中的类】



4.lookup.method 通过IOC机制实现抽象类中的方法实例化
                注意要引入其中cglib_no   .jar
                返回决体的 bean对象,加上一个 具体的抽象类中的方法
                <lookup_method bean="最佳实现将其设定为原型"  name="                       抽象类中的 方法"/>


5.依赖检查 :dependency_check="none|不进行依赖检查,simple="基本类型的              属性"  objects="对象间的 关联检查"  all="所有 的 属性" "
            不建议使用
6.factory-method=" "
  factor-bean=" "

7.bean的 生命周期的回调



Spring 中的 AOP框架


一AOP中的 一些术语 
  1.切面(Aspect): 程序中所关注的 焦点问题, 最常见的 例子日志记录
  2.连接点 (Joinpoint):应用程序执行过程中插入切面的地点。如方法调用前                         后,异常抛出时。
  3.通知(Advice):通知切面的实际实现,也就是将要对切面作什么事。
  4.切入点(Pointcut):告诉 通知在 那些连接点上发生。连接点中一定存在切                      入点。
  5.引入(Introduction):允许你为已存在的类添加新的方法和 属性
  6.目标对象(Target):被通知的 对象
  7.代理(Proxy):将通知应用到目标对象后创建的对象
  8.织入(Weaving):将切面应用到目标对象 从而创建 一个 新的代理对象的过程
12月14日 

一、spring 的 AOP的实现

    1.实现 了 AOP联盟借口
    2.只支持方法连接点
    3、运行期植入

二、通知的 4中类型:

    1、前置通知(在调用方法前 )   如用于:安全检查

    2、后置通知(在应用程序之后)  如用于:日志
     
    3、环绕通知  主要用于启动事务
       Public interface MethodInterceptor extends Interceptor{
       Object jnvoke(MethodInvocation invocation) throws Throwable;
       }
      通过
    4、异常通知
       (1) void afterThrowing(Throwable throwable)
       (2)void afterThrowing(Method method ,Object[] args,Object target,Throwable throwable)

    注意:通知是无状态的 ,服务多个 并发请求
三、定义切点:
 
   public interface Pointcutp{
   
      ClassFilter getClassFilter();
  
      MethodMatcher getMethodMatcher();

       }
    //  类的切入 
     public interface ClassFilter{
          boolean matches(Class clazz);
         }

     // 方法的 切入三中情况
     public interface MethodMatcher{
     boolen matches(Method m, Class targetClass);   
     boolen isRuntime();   //判断返回时 true 还是 flase   
     boolean matches(Method m, Class target,  Object[] args);   //当 上面的 方法返回true时调用 这个动态方法
   
   }
 
四、Advisor的 运用
  //连接切入点和通知的 类
   public interface PointCutAdvisor{
     Pointcut getPointcut();
     Advice getAdvice();
   }
 
五、Spring的 静态切入点

1、方法名字匹配的切入点  (NameMatchMethodPointcut)
    public void setMappedName(String) 
    public void setMappedNames(String[])
2、正则表达式切入点 (RegexpMethodPointcut) 
   .    匹配任意字符;
   +   前一个 字符一次或多次;
   *    前一个 字符0或多次;
   {n}  前一个字符的 准确次数;
   \    转义字符 ;


    Spring 的 动态切入点 (不推荐 使用)
  

12月17日
  Spring 的持久化支持
1.Spring的DAO理念
  Spring提供了一个Dao接口。
 
  JdbcDaoSuport类 要 依赖与JDBC Template模板类
  Hibernate DaoSuport类要依赖与Hibernate Template模板类
   JdbcDaoSuport类 中的两个重要属性:
           *  DateSource datesource
              JdbcTemplate jdbc template
   Hibernate DaoSuport 中的两个 重要属性 :
           * SessionFactory sessionfactory
             HibernateTemplate hibernateTemplate
(1) JDBC Template
    首先描述实现DateSource属性,
             用(增)update(sql);
                     update(sql,Object) ;  一个参数情况
                     update(sql,Object[]); 多个参数情况
             
               (查)query*(sql,Object[]);
                   常用: queryForList方法接收;
                          注意返回的 式map类型的封装方式       
  (2)Hibernate Template
    首先实现SessionFactory sessionfactory
            用   Save(object);
                 update(object);
                 delete(object);
                 SaveOrUpdate();
                 merge();
             (查)find*(HQL,Object[]);
                 load(pk);按照主键装载;

spring 的 事物管理

1事务的几个属性:
(1)传播性   PROGATION_MANDATORY     一个 方法或操作必须运行在一个事物之中  (不会开启事物)
            PROGATIOM_NESTED        嵌套性事物中
            PROGATION_NEVER         不应该运行在事物中
            PROGATION_NOT_SUPPORTED 不应运行于事物中 ,当开启事物时事物刮起
          * PROGATION_REQUIRED      必须运行在事物中,可以开启事物
          * PROGATION_REQUIRED_NEW  必须 运行在新的事物中
            PROGATION_SUPPORTS      不需要事物

(2)隔离级别     脏读:由于没有提交 引起的
  
          不可重复读:当用户在浏览信息的 时候,数据发生了改变
                            
               幻读:当作用户作 一次查询的时候 ,经过短暂的 时间,发现数据发生了增加
                                
  为了 解决这几种情况,制定了4 种隔离级别:
                              
    为提交读:ISOLATION_READ_UNCOMMITTED
    提交读  :ISOLATION_READ_COMMITTED    解决了脏读问题大部分数据库采用
    重复读  :ISOLATION_REPEATABLE_READ  没有解决幻读
    序列化  :ISOLATION_SERIALIZABLE        
  
  由数据库默认采用隔离级别:ISOLATION_DEFAUIT

(3) 只读属性:readonly
                  
12月29日

Spring的MVC简单介绍:

1.中央控制器:DispatcherServlet
  /WEB-INF/${servletName}-servlet.xml

映射方式:
  Url----Bean
  *默认方式: (1)名 字的 映射   BeanNameUrlHandlerMapping
     Url=A.htm
     <bean name="/A" class=" "/> 
   缺点:控制器暴露,但推荐使用
 
              (2)名字不同的映射     SimpleUrlHandlerMapping
                 Url=AA.htm
                <bean id="handlermapping" class=" " >
                   <property name="mapping">
                     <props>
                   <prop key="AA.html" key中是URL的名字>A</prop>
                     </props>        

             </property>
        </bean>
  安全但比较麻烦
2.Controller接口 (控制器)

(1)AbstractController

   简单的接口,提供国际化等

(2)AbstractFormController 表单的 处理还原
   SimpleFormController
  
    get--要对应formView
    post--onSubmit()
  
(3)BaseCommandController
   AbstractCommandController   根据type=" "进入不同的操作
(4)AbstractWizardFormController
    向导式的控制器
     
3.ModelAndView
 
   ModelAndView ("页面的名字"," 传进的属性"," 绑定属性的值")

4.UrlMapping


配置文件必须放在/WEB-INF/中,交由控制器处理



spring中的远程方法调用

1. rmi
服务器: org.springframework.remoting.rmi.RmiServiceExporter类
         几个重要属性:* serviceName  服务名
                       * service     用于处理rmi请求的类
                       * serviceInterface  接口
                         registryPort     端口 
客户端:    org.springframework.remoting.rmi.RmiProxyFactoryBean  
         几个重要属性:* ServiceUrl    连接串  例如:                                            rmi://ip[:port]/serviceName
                       * serviceInterface  接口        


2.http  用他的好处是可以穿透防火墙限制

服务器: org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
         几个属性:service  服务
                   serviceInterface 接口


客户端: org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean
         几个属性: serviceUrl  连接串 例如:http://ip:port/servce
                    serviceIterface  接口
         
















 
[/color][color=blue][/color][/color]
分享到:
评论

相关推荐

    Spring Boot 2.5.0简单学习pdf资料

    在 Spring Boot 2.5.0 中,项目开发流程通常包括需求分析、概要设计、详细设计、编码、测试和部署等几个阶段。在每个阶段都需要遵守一定的流程和规范,以确保项目的质量和可维护性。 环境搭建 在 Spring Boot ...

    SpringMVC学习笔记与项目源码

    内容概要:超详细SpringMVC笔记,包含初始SpringMVC,请求与响应,REST风格,SSM整合,表现层数据封装,异常处理器,项目异常处理方案,前后台联调,拦截器等知识点适合人群:学习过Spring课程的人群,初步理解框架...

    SpringBoot基础入门笔记

    笔记全部以Markdown的形式记录,源码包含一个项目,可以非常便捷的帮助大家上手实践笔记中的知识点学习建议:本笔记涉及到较多之前学过的知识,大家可以优先学习Spring,SpringMVC、Maven等知识大家可以结合之前...

    Maven进阶版Markdown笔记+项目源码

    笔记全部以Markdown的形式记录,源码包含一个项目,可以非常便捷的帮助大家上手实践笔记中的知识点学习建议:本笔记为SSM框架一部分,大家可以优先学习Spring,SpringMVC等框架,学习完成后在进行Maven进阶的学习...

    软件工程课堂笔记+期末试题

    内容概要:通过带着读者手写简化版 Spring框架,了解 Spring核心原理。在手写Spring源码的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源...

    J2EE框架+MLDN_J2EE框架_笔记.rar

    **J2EE框架详解** ...以上就是J2EE框架的学习笔记概要,深入理解和熟练运用这三个框架,将有助于提升Java企业级应用的开发能力。在学习过程中,建议结合实际项目实践,以便更好地理解和掌握这些技术。

    基于Spring Boot框架的移动学习社区.zip

    内容概要 移动学习社区是一个基于Spring Boot框架开发的应用系统,旨在为高校师生提供一个虚拟化、数字化的学习环境。该系统支持师生随时随地进行交流、分享和协作,并提供相关的教学辅助工具。项目的主要目标是...

    达内培训笔记

    通过上述信息,可以构建出一份完整的IT专业培训笔记概要,涵盖操作系统基础、编程语言基础、网页开发、后端框架及数据库操作等多个方面。该笔记对初学者和想要系统复习IT相关知识点的人非常有帮助。

    狂神说java全栈笔记.zip

    以上各点仅是根据文件名推测的内容概要,实际笔记中可能还包括其他相关主题的深入讲解,如设计模式、数据库连接、MVC架构等。这些笔记是系统学习和提升Java全栈开发技能的良好资源,对于开发者来说具有很高的学习...

    web学习笔记.docx

    在深入探讨Web开发的知识之前,我们首先了解一下"Web学习笔记.docx"的概要。这份文档显然包含了关于Web开发的学习笔记,可能涵盖了多种技术、框架和编程语言,如Java、JSP、Struts以及SSH(Struts、Spring、...

    苍穹外卖个人笔记(Java、Redis、SpringBoot、MySQL)

    ### 苍穹外卖个人笔记(Java、Redis、SpringBoot、MySQL) #### 1. 开发流程及环境配置 ##### 1.1 软件整体开发流程 软件开发流程是软件工程的重要组成部分,通常包括以下几个阶段: - **需求分析**:明确用户的...

    Springboot017学生读书笔记共享_论文_说明文档.zip

    标题:基于Spring Boot和Vue.js的Web应用程序开发框架论文文档 摘要: 本论文介绍了一种基于Spring Boot和Vue.js的Web应用程序开发框架,旨在提供一个通用的管理系统模板。通过系统的需求分析、概要设计、详细设计...

    任亮广西移动电商项目笔记

    2. **系统架构设计**:讲解J2EE框架下的MVC(模型-视图-控制器)架构,以及如何利用Spring Boot、MyBatis等工具进行服务和数据层的搭建。 3. **数据库设计**:涉及到关系型数据库如MySQL的设计,包括表结构、索引...

    springboot-learning:SpringBoot 常用技术整合

    这是尚硅谷的SpringBoot教程,自己过了敲了一遍代码,下面是整理的笔记和课件,用于自己学习,如有侵权请告知 如果你喜欢,给个star哈~ 内容概要 初级 高级 一、Spring Boot入门 九、Spring Boot与缓存 二、Spring ...

    security-poc:使用Spring Security

    这些方法可用于Spring概要文件。 前提条件 JDK 14 Maven的3.6 特征 身份验证(不同的配置文件)和授权 JSP + JSTL Apache Tiles(HTML模板) 执行器 (当前)没有测试-&gt;因此质量门操作失败 个人资料 类型 Maven...

    activity7学习教程

    二、内容概要: 1、包含activity7的大纲脑图 2、示例代码,activity整合spring,整合springboot 3、导学笔记和视频 4、pdf讲义和markdown讲义 四、Activiti是目前使用最常用的工作流引擎,在企业中的应用非常广泛。...

    Springboot学生读书笔记共享_源代码_数据库.zip

    内容概要: 本系统源代码基于Spring Boot、Vue.js、Element UI和MySQL,提供一个通用的Web应用程序框架。通过该系统源代码,学习如何使用这些技术构建可扩展的管理系统。涵盖前端开发、后端开发、数据库集成等核心...

    multi-module:使用多个模块配置基于Spring Boot的Gradle项目

    基于Spring Boot的多模块项目配置指南 ... 以前,配置是通过这种方式完成的,并且所有相关设置都使用应用程序属性文件( application.yml或application.properties )中的spring概要文件进行了分类。 Spring Boot通

    毕业设计: Java项目springbootIT技术交流和分享平台(源码 + 数据库 + 论文)

    2.4 Spring Boot框架 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3.1.3 经济可行性 5 3.1.4 法律可行性 5 3.2系统性能分析 5 3.3系统功能分析 6 3.3.1用户功能分析 6 3.3.2管理员功能...

Global site tag (gtag.js) - Google Analytics