`
ricky_love
  • 浏览: 402389 次
  • 性别: 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]
分享到:
评论

相关推荐

    狂神说Java-Spring学习笔记

    狂神说Java——Spring学习笔记 内容概要: 1、了解什么是Spring 2、IOC 3、Spring配置 4、依赖注入 5、Bean的自动装配 6、注解开发 7、代理模式 8、AOP 能学到什么:详细了解Spring基础以及使用 阅读建议: 建议配合...

    spring学习笔记(有代码有注解解释)

    内容概要:学习Spring的一些学习笔记,主要学习Spring 框架两大核心机制(IoC、AOP) 笔记大纲:阅读笔记可以学习了解一下内容 如何使用 IoC ;配置文件;IoC 底层原理;通过运行时类获取 bean;通过有参构造创建 ...

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

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

    Java框架部分SSM笔记

    内容概要 SSWM笔记深入探讨了Java开发中常用的几个框架,内容涵盖: Spring框架:依赖注入、面向切面编程(AOP)、事务管理等。 SpringMVC:作为表现层框架,处理HTTP请求和响应。 Spring Boot:简化新Spring应用的...

    Java 学习笔记极其详细版(包括一些个人色彩不仅仅是纯笔记)

    内容概要 本Jva(Java)学习笔记是一份深入且详尽的教程,不仅包括Java的基础知识,还融入了作者的个人见解和实际编程经验。内容涵盖: Java基础:数据类型、控制流、异常处理。 面向对象编程:类与对象、继承、...

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

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

    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管理员功能...

    毕业设计: Java项目springboot在线教育系统设计与实现(源码 + 数据库 + 论文)

    2.3 Spring Boot框架简介 4 3系统分析 4 3.1可行性分析 4 3.1.1技术可行性 4 3.1.2经济可行性 5 3.1.3操作可行性 5 3.2系统性能分析 5 3.2.1 系统安全性 5 3.2.2 数据完整性 6 3.3系统界面分析 6 3.4系统流程和逻辑 ...

    asp.net知识库

    Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述...

Global site tag (gtag.js) - Google Analytics