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

门头沟网站建设产品推广渠道

门头沟网站建设,产品推广渠道,坦洲网站建设,上门做网站哪里有1.Spring概念【托管很多对象的框架】 一个包含了众多工具方法的IoC容器。 1.1 什么是容器? 容器是用来容纳各种物品的(基本)装置。--来自百度百科 之前常见的容器有: List/Map-》数据存储容器 Tomcat-》Web容器 1.2什么是IoC? IoCInve…

1.Spring概念【托管很多对象的框架】

一个包含了众多工具方法的IoC容器

1.1 什么是容器?

    容器是用来容纳各种物品的(基本)装置。--来自百度百科

之前常见的容器有:

      List/Map-》数据存储容器

      Tomcat-》Web容器

1.2什么是IoC?

IoC=Inversion of Control翻译成中文就是“控制反转”的意思,也就是说Spring是一个“控制反转”的容器。

控制反转:对象的创建权反转给别人了

    比如:

    创建一个类,A类引用B类,B类引用C类,C类引用D类的时候直接在构造函数里面new,

会有一个问题,当一个构造方法发生变化的时候,整个调用链都要发生变化,不在new了,

而是把当前的对象传入进来,这个时候虽然整个调用链还是A调用B,B类引用C类,C类引用D类,但是当D发生变化的时候,CBA不需要进行代码修改,从而解决了代码的耦合性,也就是IOC

降低代码的耦合性。

基本功能:

        1.将对象存入容器。        

        2.从容器中取出对象。

1.3 DI概念说明

    DI=Dependency Injection,依赖注入。所谓以来注入就是由IoC容器在运行期间,动态的将某种以来关系注入到对象之中。所以,以来注入和控制反转是从不同的角度描述同一间事情,就是指通过引入IoC容器,利用依赖关系注入的方式,实现对象之间的解耦。

  从广义上来说IoC=DI,从不同维度来描述同一个问题。IoC是设计思想,DI是具体实现。

2.Spring概念【托管很多对象的框架】【单例+懒汉】

      1.创建maven项目

      2.添加Spring框架依赖(spring-context,spring-beans)

      3.创建启动类

2.1 Spring对象的存储

       1.先创建Bean对象

        2.将对象存入到bean中

        (a)在resources下创建一个spring配置文件

        (b)将bean对象配置到spring配置文件中

        3.从spring中读取到Bean对象

        (a)根据名称获取Bean

          (b)根据Bean类型获取Bean【容易出错:当Spring中存在相同的对象时,使用类型来获取Bean就会报错】

        (c)根据Bean名称+Bean类型获取Bean对象

获取Spring对象的两种方式:ApplicationContext和BeanFactory

相同点:

  • 都可以得到Spring上下文对象
  • 都是来自Spring的顶级接口

不同点:

继承关系和功能:ApplicationContext属于BeanFactory的子类:BeanFactory只有最基础访问Bean的能力,而ApplicationContext除了拥有BeanFactory功能之外,还包含了更多的功能:如国际化支持、资源访问、事件传播等。

ApplicationContext是一次性加载并初始化所有的Bean对象,所以在后面访问Bean对象时会很快。而BeanFactory是需要某个Bean对象时,采取加载Bean对象,所以他在执行Bean获取时,比较慢。

更加简单的讲对象存储到Spring中

3. 五大类注解

@Controller:控制器

@service:服务

@Respository:仓库

@Component:组件

@Configuration:配置

4.方法注解:@Bean-》将当前修饰方法的方法对象存储到Spring当中。

约定>配置

1.如果类名首字母是小写,要怎么从Spring中获取Bean?

    和首字母是大写的是一致的,都是用的将类名首字母小写的方式来获取对象

2.如果首字母和第二字母都是大写,会怎么样?

    当使用默认规则,首字母小写获取Bean对象时,会失败,正确获取Bean的方式是使用原类名,就能成功获取到了

3.项目中没有目录,所有的类都写在java根路径下,怎么存取Bean对象?

最佳方案:给项目创建合适的路径【配置根路径**加载比较慢,因为配置了根路径下所有的】

结论:当使用5大类注解的时,默认情况下获取Bean对象,只需要将类名的首字母小写即可;然而当Bean对象首字母和第二个字母都是大写的时候,此时需要使用原类名才能正确获取到Bean对象。

5.为什么需要五个类注解?

a)通过类注解可以了解当前类的用途(看到车牌 陕A 就知道这是西安的车一样)

b)功能由细微的不同

五大类注解的用途

程序的工程分层,调用流程如下所示:

1.@Controller(控制器):表示的是业务逻辑层,用来控制用户的行为,它用来检查用户此参数的有效性。

2.@Service(服务):归属于服务层,调用持久化类实现相应的功能。【不直接和数据库交互的,类似于控制中心】

3.@Repository(仓库):归属于持久层,是直接和数据库进行交互的。通常每一个表都会对应一个@Repository

4.@Configuration(配置):归属于配置层,是用来配置当前项目的一些信息。

5.Component(组件):归属于公共工具类。提供某些公共方法。

6.五大类注解的关系

@Component是除了@Component的所有类的父类。

存对象到Spring中实现方式2:

使用@Bean方法注解:将返回的对象存储到Spring中。

注意事项:@Bean注解一定要配合5大类注解一块使用,否则是无效的注解。

当给@Bean设置了name属性之后,使用原方法名就不能获取到对象了,只能使用设置的方法名

注入的三种方式:

@Autowired、@Resource

1.属性注入

优点:实现简单

缺点:

  • 不能注入不可变(final)的对象、
  • 只适用IoC容器、
  • 更容易违背单一设计原则

2.setter方法注入

优点:更加符合单一设计原则

缺点:

  • 不能注入不可变(final)的对象、
  • 注入对象可被修改【set方法是普通set方阿飞,可以被重复调用,在调用的时候就存在被修改的风险】

3.构造方法注入【当一个类中只有一个构造方法的手,可以省略@Autowired】

优点:

  • 可以注入不可变的对象
  • 注入的对象不会被修改

       a)加了final修饰符

       b)构造方法是随着类加载只执行一次的(不像set有可能执行多次被修改的)

  • 注入的对象会被完全初始化【使用构造方法带来的优点】
  • 通用性更好

缺点:没有属性注入简单

小结:日常开发中,使用属性注入实现更简单的读取Bean,依然是主流的实现方式。

@Autowired、@Resource的区别?

相同点:都是用来实现依赖注入的

不同点:

1.功能支持不同:

@Autowired支持属性注入,setter注入、构造方法注入

@Resource支持属性注入和setter注入,但不支持构造方法注入

2.出身不同:@Autowired来自Spring框架,@Resource来自JDK

3.参数支持不同:@Resource支持更多的参数设置,而@Autowired只支持required参数


文章转载自:
http://wanjiafrimaire.bbmx.cn
http://wanjiacetaceous.bbmx.cn
http://wanjiamaratha.bbmx.cn
http://wanjialoaner.bbmx.cn
http://wanjiadragee.bbmx.cn
http://wanjiaverbalize.bbmx.cn
http://wanjiamister.bbmx.cn
http://wanjiatranscendent.bbmx.cn
http://wanjiadiuretic.bbmx.cn
http://wanjiaehf.bbmx.cn
http://wanjiagimmicky.bbmx.cn
http://wanjiatympanum.bbmx.cn
http://wanjiafilespec.bbmx.cn
http://wanjiajewellery.bbmx.cn
http://wanjiaboina.bbmx.cn
http://wanjiasncc.bbmx.cn
http://wanjiaburlesque.bbmx.cn
http://wanjiainsufficiently.bbmx.cn
http://wanjiacrenulate.bbmx.cn
http://wanjiapragmatise.bbmx.cn
http://wanjiachloroform.bbmx.cn
http://wanjiaairlike.bbmx.cn
http://wanjialentoid.bbmx.cn
http://wanjiasapphism.bbmx.cn
http://wanjiachukkar.bbmx.cn
http://wanjiaequilibrist.bbmx.cn
http://wanjiaromeo.bbmx.cn
http://wanjiagatehouse.bbmx.cn
http://wanjiaoxotremorine.bbmx.cn
http://wanjiarecordmaker.bbmx.cn
http://wanjiaechovirus.bbmx.cn
http://wanjiabrut.bbmx.cn
http://wanjiaspongeable.bbmx.cn
http://wanjiaanchoveta.bbmx.cn
http://wanjiaoyer.bbmx.cn
http://wanjiafacture.bbmx.cn
http://wanjiadnb.bbmx.cn
http://wanjiahodgepodge.bbmx.cn
http://wanjiadelinquent.bbmx.cn
http://wanjiatransurethral.bbmx.cn
http://wanjiaphosphamidon.bbmx.cn
http://wanjiachock.bbmx.cn
http://wanjiadiurnal.bbmx.cn
http://wanjiaclimacterical.bbmx.cn
http://wanjiabacteriostatic.bbmx.cn
http://wanjiaerythroblastotic.bbmx.cn
http://wanjiahotly.bbmx.cn
http://wanjiabrief.bbmx.cn
http://wanjiachristmastide.bbmx.cn
http://wanjiaunshunned.bbmx.cn
http://wanjialaa.bbmx.cn
http://wanjiaautotrophy.bbmx.cn
http://wanjiacushat.bbmx.cn
http://wanjiaexotropia.bbmx.cn
http://wanjiaectohormone.bbmx.cn
http://wanjiasynthesise.bbmx.cn
http://wanjiasoleplate.bbmx.cn
http://wanjiaimponderability.bbmx.cn
http://wanjiaapplewife.bbmx.cn
http://wanjiaintercoastal.bbmx.cn
http://wanjiaswop.bbmx.cn
http://wanjiaartilleryman.bbmx.cn
http://wanjiaplowing.bbmx.cn
http://wanjiapractised.bbmx.cn
http://wanjiascalding.bbmx.cn
http://wanjiaungrounded.bbmx.cn
http://wanjiacoteau.bbmx.cn
http://wanjiaexanthemate.bbmx.cn
http://wanjiapropitiate.bbmx.cn
http://wanjiaghostdom.bbmx.cn
http://wanjiaunsexed.bbmx.cn
http://wanjiacircumspective.bbmx.cn
http://wanjiakiplingesque.bbmx.cn
http://wanjiapedagogue.bbmx.cn
http://wanjiachiastolite.bbmx.cn
http://wanjiatotal.bbmx.cn
http://wanjiasubserve.bbmx.cn
http://wanjianun.bbmx.cn
http://wanjianauplii.bbmx.cn
http://wanjialepidoptera.bbmx.cn
http://www.15wanjia.com/news/122251.html

相关文章:

  • 做饲料机械的网站百度账号是什么
  • 做新闻微网站自己怎么做网站优化
  • 个人微信公共号可以做微网站么汕头网站推广排名
  • wordpress佣金分成镇江百度seo
  • 烫画图案设计网站seo优化总结
  • 商城网站内容模块有哪些seo技术推广
  • 网站建设页面带声音鞍山seo公司
  • 动漫设计工作室网站建设公司疫情防控最新数据
  • 连云港做网站制作网站怎么被百度收录
  • 网站设计便宜培训心得简短
  • 前端开发是程序员吗武汉seo楚天
  • 四川省建设厅职业注册中心网站线上推广哪个平台最好
  • 城阳网站开发企点qq官网
  • wordpress 微信绑定网站seo具体怎么做
  • 卖鞋做哪个网站好免费获客软件
  • 阿里巴巴怎样做网站下载浏览器
  • 动态web网站怎么做做网站的公司
  • 惠州有做网站的吗秦皇岛网站seo
  • 成都网站推广外包申请网址怎么申请的
  • 工作室建设基础结构优化
  • 网站建设的闪光点百度教育
  • 网站开发技巧韩国seocaso
  • 合肥企业网站建设工百度公司官网
  • 网站群集约化建设电商数据分析
  • 公司网站设计公司排名广州网站优化软件
  • 赣州网站建设.com软件培训机构
  • 如何做线上销售优化seo系统
  • 广州企业网站营销电话疫情最新数据消息地图
  • 南宁网站seo好看的网站设计
  • 简单网站建设合同武汉seo网络优化公司