资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Spring的装配是怎样的

这篇文章给大家介绍Spring 装配是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联是一家集网站建设,香格里拉企业网站建设,香格里拉品牌网站建设,网站定制,香格里拉网站建设报价,网络营销,网络优化,香格里拉网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

一、Bean的作用域

single 单例模式(默认)

        

IOC容器仅创建一个Bean实例,IOC容器每次返回的是同一个Bean实例。

single 原型模式

        

IOC容器可以创建多个Bean实例,每次返回的都是一个新的实例。

request

该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。

session

该属性仅用于HTTP Session,同一个Session共享一个Bean实例。不同Session使用不同的实例。

global-session

该属性仅用于HTTP Session,同session作用域不同的是,所有的Session共享一个Bean实例。

二、Bean自动装配

Spring的装配是怎样的

byName自动注入:

Spring的装配是怎样的

byType自动注入:

Spring的装配是怎样的

按照类型装配。

三、注解自动装配

spring2.5之后支持注解装配,,需要导入约束

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans        https://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        https://www.springframework.org/schema/context/spring-context.xsd">
   

@Autowired

它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。(也可用在set方法上)

Spring的装配是怎样的

需要符合byname规范,且在beans中注册。

Autowired有一个属性required,默认为true。

public @interface Autowired {    boolean required() default true;}

Spring的装配是怎样的 设置为false,表示可以为空
我们可以经常见到这种写法,表示自动装配到这个类:

    @Autowired    private MovieCatalog movieCatalog;

@Resource

@Resource的作用和@Autowired相同,@Autowired按byType自动注入,@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

@Resources按名字,是JDK的,@Autowired按类型,是Spring的。

关于Spring 装配是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前题目:Spring的装配是怎样的
标题链接:http://cdkjz.cn/article/gpjcie.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220