Spring积累总结

1.spring 的优点:

   1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 

   2.可以使用容易提供的众多服务,如事务管理,消息服务等 

   3.容器提供单例模式支持 

   4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能

   5.spring的DI机制降低了业务对象替换的复杂性

2. 三种注入方式,构造器、接口、set注入,我们常用的是set注入

3. bean是如何创建---  工厂模式

4. 数据是如何注入-------反射

5.IOC:控制反转也叫依赖注入。利用了工厂模式
  将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调用这些bean的类(假设这个类名是A),分配的方法就是调用A的setter方法来注入,而不需要你在A里面new这些bean了。

6.AOP:面向切面编程。(Aspect-Oriented Programming)
  AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。
将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。

  实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码

 

转载于:https://www.cnblogs.com/xu-lei/p/6627980.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是公钥和私钥?

公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其…

基恩士上位机链路通讯_基恩士PLC通讯源码

基恩士PLC KV7000,8000还是比较好用的,那如何和上位机通讯,我把源码写出来了。采用上位链路通讯,基恩士官方给我们留了8501端口,这个端口有意思刚好是我生日。基恩士的资料我觉得做的特别好,能快速写源代码得益于官方资料特别详细…

第二次作业+105032014101

1、测试帖链接 http://www.cnblogs.com/ELPSY/p/6605831.html 2、提出的建议 该代码基本符合编码规则所需的正确性、稳定性、可读性的要求。 程序出现错误的地方在对于2月份日期的判定上,以“2000 2 30”的输入语句符合年月日的三个输入条件,但是这并不…

fastq质量值_fastq 数据格式解析

概念介绍Read 读段Read 中文翻译: 读段,来自测序仪的raw data一个Read 可能由多个片段组成, Read的索引是测序时的顺序Sequencing quality 测序质量测序仪在测序的时候,每次测出来的结果可能都不一样(仪器误差 序列长度等各方面因…

画像分析(3-3)标签建模-模型管理-新建关系

1、关系是什么 关系,是实体与实体之间所发生的连接,通常表示某一种行为/一个事实,如成交、搜索、出行。从数据表的角度来看,这样的表通常被称为”事实表“,往往是有多个联合主键(或是说都是外键&#xff09…

二进制、八进制、十进制、十六进制之间的转换

在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。 对于进制,有两个基本的概念:基数和运算规则。 基数:基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字。二进…

myeclipse mysql 乱码_MyEclipse与mysql增改查现乱码解决方案绝对有效

设置MyEclipse文件编码。且跟mysql的连接编码一致set names gbk; SET character_set_clientutf8;SET character_set_connectionutf8;SET character_set_resultsutf8;show variables like %char%;SET character_set_clientutf8;SET character_set_connection utf8;SET character…

poj3723Conscription

题目链接&#xff1a;http://poj.org/problem?id3723 建图时将女生编号都加n&#xff08;男生数目&#xff09;&#xff0c;求最大生成树。 1 #include <cstdio>2 #include <cstring>3 #include <algorithm>4 using namespace std;5 const int maxn100001;6…

JAVA基础知识之字节和字符

一、字节的概念 1、计算机中的数据都是以二进制的形式进行存储和交换的&#xff0c;字节本质就是二进制&#xff0c;因此字节是最基本的储存单位 2、一个字节本质就是8位二进制&#xff0c;因此1个字节最小的值是0&#xff0c;最大的值是11111111&#xff0c;转换十进制…

mysql 8小时问题_Mysql经典的“8小时问题”

假设你的数据库是mysql&#xff0c;如果数据源配置不当&#xff0c;将可能发生经典的“8小时问题”。原因是mysql在默认情况下&#xff0c;如果发现一个连接的空闲时间超过8小时&#xff0c;将会在数据库端自动关闭这个连接。而数据源并不知道这个连接已经关闭了&#xff0c;当…

【BZOJ 2753】 2753: [SCOI2012]滑雪与时间胶囊 (分层最小树形图,MST)

2753: [SCOI2012]滑雪与时间胶囊 Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 2457 Solved: 859Description a180285非常喜欢滑雪。他来到一座雪山&#xff0c;这里分布着M条供滑行的轨道和N个轨道之间的交点&#xff08;同时也是景点&#xff09;&#xff0c;而且每个景…

SortedMap接口实现排序

SortedMap接口主要提供有序的Map实现。SortedMap接口是排序接口&#xff0c;只要是实现了此接口的子类&#xff0c;都属于排序的子类&#xff0c;TreeMap也是此接口的一个子类 Map的主要实现有HashMap,TreeMap,HashTable,LinkedHashMap。 TreeMap实现了SortedMap接口&#xf…

mysql漏洞包_MySQL npm包中的本地文件泄露漏洞

“A pure node.js javascript Client implementing the MySQL protocol.”漏洞在某次安全评估中&#xff0c;Synacktiv专家无意中发现某个应用可以从另一台MySQL服务器中读取敏感数据&#xff0c;而该应用程序正是使用了mysql的npm软件包。该npm软件包所支持的LOAD DATA LOCAL命…

C# 对象与JSON串互相转换

DoNet2.0 需要借助于Newtonsoft.Json.dll 1 代码2 3 using System;4 using System.IO;5 using System.Text;6 using Newtonsoft.Json;7 8 namespace OfflineAcceptControl.UCTools9 { 10 public class JsonTools 11 { 12 // 从一个对象信息生成Json串 13 …

mysql 日期查询今天_Mysql 日期查询今天、昨天、近7天、近30天、本月、上一月、本季...

今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 whe…

java实现MD5加密

MD5加密是一种常见的加密方式&#xff0c;我们经常用在保存用户密码和关键信息上。那么它到底有什么&#xff0c;又什么好处呢&#xff0c;会被这么广泛的运用在应用开发中。 信息-摘要算法&#xff08;Message-digest Algorithm 5&#xff0c;MD5&#xff09;于90年代初由MIT …

THINKPHP5判断当前浏览器请求方式

作用代码是否为 GET 请求if (Request::instance()->isGet())是否为 POST 请求if (Request::instance()->isPost())是否为 PUT 请求if (Request::instance()->isPut())是否为 DELETE 请求if (Request::instance()->isDelete())是否为 Ajax 请求if (Request::instanc…

jspwiki mysql_Wiki.js初体验

利用JSPWiki搭建简易企业wiki平台。今天介绍一下基于NodeJS技术的开源项目Wiki.js&#xff0c;其界面简洁美观&#xff0c;支持多种编辑器、多种用户验证方式、多种备份存储方式&#xff0c;支持国际化、自定义主题(Theme)、流量分析等。更多正在开发中的功能&#xff0c;界面也…