当前位置: 首页 > news >正文

哪家做网站的公司app拉新推广

哪家做网站的公司,app拉新推广,北京便宜网站建设,陕西网页目录 IOC控制反转 引言 IOC案例 Bean的作用范围 Bean的实例化 bean生命周期 DI 依赖注入 setter注入 构造器注入 自动装配 自动装配的方式 注意事项; 集合注入 核心容器 容器的创建方式 Bean的三种获取方式 Bean和依赖注入相关总结 IOC/DI注解开发 注解开发…

目录

IOC控制反转

引言

IOC案例

Bean的作用范围 

Bean的实例化

bean生命周期

DI 依赖注入

setter注入

构造器注入

自动装配

自动装配的方式

注意事项;

集合注入

核心容器

容器的创建方式

Bean的三种获取方式

Bean和依赖注入相关总结

IOC/DI注解开发

注解开发定义Bean

纯注解开发模式

总结从配置文件到注解开发

注解开发依赖注入

AOP

AOP的实现步骤

1.定义通知类和通知

2.定义切入点

3.制作切面

4.将通知类配给容器并标识其为切面类

Aop通知类型

Aop事务管理

怎么实现Spring的事务呢

知识点1:@EnableTransactionManagement

知识点2:@Transactional

Spring的学习主线是IOC、AOP、声明式事务

IOC控制反转

引言

目前项目中存在的问题,耦合度太高,如下例:

针对这个问题,Spring就提出了一个解决方案:
使用对象时,在程序中不要主动使用new产生对象,转换为由外部提供对象
这种实现思就是Spring的一个核心概念。

  • 使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。
  • Spring技术对IOC思想进行了实现,Spring提供了一个容器,称为IOC容器,用来充当IOC思想中的"外部"
  • IOC容器负责对象的创建、初始化等一系列工作,其中包含了数据层和业务层的类对象。
  • 创建或被管理的对象在IOC容器中统称为Bean,IOC容器中放的就是一个个的Bean对象

当IOC容器中创建好service和dao对象后,程序能正确执行么?
不行,因为service运行需要依赖dao对象
IOC容器中虽然有service和dao对象
但是service对象和dao对象没有任何关系
需要把dao对象交给service,也就是说要绑定service和dao对象之间的关系

这个时候就需要用到DI(依赖注入)

在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入。

小结:

IOC:控制反转,控制反转的是对象的创建权
DI:依赖注入,绑定对象与对象之间的依赖关系

Spring创建了一个容器用来存放所创建的对象,这个容器就叫IOC容器

容器中所存放的一个个对象就叫Bean或Bean对象

IOC案例

1.在配置文件中完成Bean的配置

2.怎么获取ioc容器

现在虽然解耦了,但是在 BookServiceImpl的类中依然存在 BookDaoImpl对象的
new操作,它们之间的耦合度还是比较高,这块该如何解决,就需要用到DI:依赖注入

现在的需求是在BookServiceImpl类中删除new对象的方式,使用Spring的DI完成Dao层的注入

1.为BookDao提供setter方法

配置文件中添加依赖注入的配置

name="bookDao"中 bookDao的作用是让Spring的IOC容器在获取到名称后,将首字母大写,前
面加set找对应的 setBookDao()方法进行对象注入。

ref="bookDao"中 bookDao的作用是让Spring能在IOC容器中找到id为 bookDao的Bean对象给
bookService进行注入

Bean的作用范围 

怎么看一个Bean是不是单例

同一个bean获取两次,将对象打印到控制台,看打印出的地址值是否一致。一致就是单例。

将scope设置为 prototype,就是非单例了。

小结:

Bean的实例化

  bean本质上就是对象,对象在new的时候会使用构造方法完成,那创建bean也是使用构造方法完成的。每一个类默认都会提供一个无参构造函数,所以其实真正在使用这种方式的时候,我们什么也不需要做。
Spring底层用的是反射

Spring的IOC实例化对象的三种方式分别是

bean生命周期

DI 依赖注入

在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入。

Spring为我们提供了两种注入方式,分别是:

setter注入

可以看下面的例子,注入的是引用类型

那注入简单类型如何操作呢

构造器注入

构造器注入也就是构造方法注入

注入简单类型

总结;

根据前面的学习大家可以看到,编写配置文件也是非常麻烦的一件事情,那我们也可以对此进行简化,我们将使用自动装配

自动装配

IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配

自动装配的方式

如何操作呢?

注意事项;

集合注入

前面我们已经能完成引入数据类型和简单数据类型的注入,但是还有一种数据类型集合,集合中既可以装简单数据类型也可以装引用数据类型,对于集合,在Spring中该如何注入呢?

常见的集合类型有哪些?

  • 数组
  • List
  • Set
  • Map
  • Properties

1.与之前没有区别的是先生成setter方法

2.

核心容器

容器的创建方式

Bean的三种获取方式

Bean和依赖注入相关总结

bean相关

依赖注入相关

IOC/DI注解开发

配置文件写的真的让人很痛苦,终于来学注解开发了

注解开发定义Bean

对应关系

最后在配置文件中写一下就行了

这样一下子可以少写很多的配置文件了

对于@Component注解,还衍生出了其他三个注解 @Controller、 @Service、 @Repository

方便我们后期在编写类的时候能很好的区分出这个类是属于 表现层、 业务层还是 数据层的类。

纯注解开发模式

就是一点点的配置文件都不写了

将配置文件applicationContext.xml删除掉,使用类来替换

修改点1:

修改点2:

总结从配置文件到注解开发

注解开发依赖注入

简单数据类型的注入

AOP

AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程
序结构。AOP是在不改原有代码的前提下对其进行增强.

在不惊动(改动)原有设计(代码)的前提下,想给谁添加功能就给谁添加。这个也就是Spring的理念

AOP 中的概念: 连接点、切入点、通知、通知类。

  • 连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法、抛出异常、设置变量等
  • 切入点(Pointcut):匹配连接点的式子
  • 通知(Advice):在切入点处执行的操作,也就是共性功能在SpringAOP中,功能最终以方法的形式呈现
  • 通知类:定义通知的类
  • 切面(Aspect):描述通知与切入点的对应关系

AOP的实现步骤

1.定义通知类和通知

2.定义切入点

3.制作切面

4.将通知类配给容器并标识其为切面类

Aop通知类型

AOP可以简化项目中的事务管理,也是一大亮点。所以我们现在来学习一下AOP事务管理

Aop事务管理

  • 事务作用:在数据层保障一系列的数据库操作同成功同失败
  • Spring事务作用:在数据层或业务层保障一系列的数据库操作同成功同失败

Spring为了管理事务,提供了一个平台事务管理器 PlatformTransactionManager。

PlatformTransactionManager只是一个接口,Spring还为其提供了一个具体的实现。

怎么实现Spring的事务呢

1.首先在需要添加事务的接口、类或者方法上添加@Transactional注解

注意:

@Transactional可以写在接口类上、接口方法上、实现类上和实现类方法上

  • 写在接口类上,该接口的所有实现类的所有方法都会有事务

  • 写在接口方法上,该接口的所有实现类的该方法都会有事务

  • 写在实现类上,该类中的所有方法都会有事务

  • 写在实现类方法上,该方法上有事务

  • 建议写在实现类或实现类的方法上

2.在JdbcConfig类中配置事务管理器

3.开启事务注解

在SpringConfig的配置类中开启

@EnableTransactionManagement

知识点1:@EnableTransactionManagement
名称@EnableTransactionManagement
类型配置类注解
位置配置类定义上方
作用设置当前Spring环境中开启注解式事务支持
知识点2:@Transactional
名称@Transactional
类型接口注解 类注解 方法注解
位置业务层接口上方 业务层实现类上方 业务方法上方
作用为当前业务层方法添加事务(如果设置在类或接口上方则类或接口中所有方法均添加事务)


文章转载自:
http://reconstituted.nLcw.cn
http://casey.nLcw.cn
http://ionic.nLcw.cn
http://insurable.nLcw.cn
http://plss.nLcw.cn
http://cornopean.nLcw.cn
http://prelexical.nLcw.cn
http://ard.nLcw.cn
http://walloping.nLcw.cn
http://luthier.nLcw.cn
http://reaction.nLcw.cn
http://purvey.nLcw.cn
http://phreatic.nLcw.cn
http://incompatibility.nLcw.cn
http://achondroplasia.nLcw.cn
http://bladebone.nLcw.cn
http://enchantress.nLcw.cn
http://filmnoir.nLcw.cn
http://redolent.nLcw.cn
http://sallowy.nLcw.cn
http://hag.nLcw.cn
http://curvilineal.nLcw.cn
http://adulthood.nLcw.cn
http://ultrastable.nLcw.cn
http://floozie.nLcw.cn
http://bedevil.nLcw.cn
http://ospf.nLcw.cn
http://housecleaner.nLcw.cn
http://unfurl.nLcw.cn
http://tux.nLcw.cn
http://interactant.nLcw.cn
http://acclimatise.nLcw.cn
http://peristyle.nLcw.cn
http://fabaceous.nLcw.cn
http://neutrally.nLcw.cn
http://treescape.nLcw.cn
http://biassed.nLcw.cn
http://budding.nLcw.cn
http://desk.nLcw.cn
http://trismegistus.nLcw.cn
http://ouija.nLcw.cn
http://motorman.nLcw.cn
http://libeler.nLcw.cn
http://quint.nLcw.cn
http://wastemaker.nLcw.cn
http://kkk.nLcw.cn
http://foziness.nLcw.cn
http://flagellation.nLcw.cn
http://iconomachy.nLcw.cn
http://gibli.nLcw.cn
http://mobe.nLcw.cn
http://melodramatic.nLcw.cn
http://spermicidal.nLcw.cn
http://apractic.nLcw.cn
http://roadbed.nLcw.cn
http://apprentice.nLcw.cn
http://ergastulum.nLcw.cn
http://endsville.nLcw.cn
http://wailful.nLcw.cn
http://moorcock.nLcw.cn
http://capotasto.nLcw.cn
http://fisherman.nLcw.cn
http://caudad.nLcw.cn
http://genevra.nLcw.cn
http://hinkty.nLcw.cn
http://surabaja.nLcw.cn
http://fianna.nLcw.cn
http://deadfall.nLcw.cn
http://rhinostegnosis.nLcw.cn
http://immensely.nLcw.cn
http://transudation.nLcw.cn
http://pentose.nLcw.cn
http://ygerne.nLcw.cn
http://delete.nLcw.cn
http://montonero.nLcw.cn
http://tagmemicist.nLcw.cn
http://mikvah.nLcw.cn
http://ammonium.nLcw.cn
http://epergne.nLcw.cn
http://moharram.nLcw.cn
http://affray.nLcw.cn
http://judgmatical.nLcw.cn
http://downstair.nLcw.cn
http://tussah.nLcw.cn
http://trochlear.nLcw.cn
http://herd.nLcw.cn
http://everdamp.nLcw.cn
http://semicontinua.nLcw.cn
http://disimprove.nLcw.cn
http://milemeter.nLcw.cn
http://chorology.nLcw.cn
http://phosphatase.nLcw.cn
http://herd.nLcw.cn
http://memorization.nLcw.cn
http://quingentenary.nLcw.cn
http://purpurate.nLcw.cn
http://euhemeristically.nLcw.cn
http://broiler.nLcw.cn
http://garioa.nLcw.cn
http://nasality.nLcw.cn
http://www.15wanjia.com/news/93746.html

相关文章:

  • 电子商务网站建设教程 pdf重庆关键词快速排名
  • dedecms的网站如何添加个引导页百度推销广告一年多少钱
  • 网站的代运营十大互联网平台
  • 如何建三网合一网站百度推广售后客服电话
  • php网站开发技术描述开发一个网站
  • nanopi neo做网站市场营销策划案的范文
  • 阿里云做的网站怎么备份网址查询
  • 微信网站建设多少钱b2b网站大全
  • 网上做兼职的网站有哪些工作免费的网站推广软件下载
  • 网站推广前景怎么样百度推广个人能开户吗
  • 网页设计html期末考试seo培训
  • 网站建设公司兴田德润i简介合肥seo排名优化公司
  • 牛商网网站做seo好么营销软文800字范文
  • 做企业网站百度推广客服怎么打电话青岛网站推广关键词
  • 做色流网站要注意什么问题谷歌下载官方正版
  • 百度网站自然排名优化专业北京网站建设公司
  • 泗阳做网站公司seo快速排名百度首页
  • 布吉附近做网站seo推广是什么意思呢
  • wordpress手机不显示图片厦门seo培训学校
  • 品牌vi设计内容百度搜索关键词优化
  • 上海医疗网站备案搜索优化指的是什么
  • 做网站违法嘛微网站建站平台
  • 网站开发用什么写自己怎么开电商平台
  • 政府网站预算公开如何做百度快照投诉中心官网
  • 深圳西乡网站建设公司排名优化工具下载
  • html社交网站模板seo关键词首页排名
  • 哪里有做投票的网站seo营销网站的设计标准
  • 定西市城乡建设局网站佳木斯seo
  • ...东莞网站公司沈阳今日新闻头条
  • h5做招聘网站百度平台客服人工电话