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

徐州网站开发信息百度收录的网站多久更新一次

徐州网站开发信息,百度收录的网站多久更新一次,WordPress建站经验,网站快速收录方法Bean是什么 Bean 是指 Java 中的可重用软件组件,容器会根据提供的元数据来创建和管理这些 Bean,也包括它们之间的依赖关系。Spring 容器对 Bean 并没有太多的要求,无须实现特定接口或依赖特定库,只要是最普通的 Java 对象即可,这类对象也被称为 POJO(Plain Old Java Obj…

Bean是什么

Bean 是指 Java 中的可重用软件组件,容器会根据提供的元数据来创建和管理这些 Bean,也包括它们之间的依赖关系。Spring 容器对 Bean 并没有太多的要求,无须实现特定接口或依赖特定库,只要是最普通的 Java 对象即可,这类对象也被称为 POJO(Plain Old Java Object)。

JavaBeans 是 Java 中一种特殊的类,可以将多个对象封装到一个对象(Bean)中。特点是可序列化,提供无参构造器,提供 Getter 方法和 Setter 方法访问对象的属性。 一个 Bean 的定义中,会包含如下部分,

  • Bean 的名称,一般是 Bean 的 id,也可以为 Bean 指定别名(alias);
  • Bean 的具体类信息,这是一个全限定类名;
  • Bean 的作用域,是单例(singleton)还是原型(prototype);
  • 依赖注入相关信息,构造方法参数、属性以及自动织入(autowire)方式;
  • 创建销毁相关信息,懒加载模式、初始化回调方法与销毁回调方法。 

Bean 的依赖关系

依赖注入,Spring 容器管理依赖就是管理 Bean 之间的依赖。

两种基本注入方式

 1. 基于构造方法的注入,是通过构造方法来注入依赖。对应的 XML 配置文件需要使用 <constructor-arg/> 传入构造方法所需的内容。<constructor-arg/> 的可配置属性如下,

属性

作用

value

要传给构造方法参数的值

ref

要传给构造方法参数的 Bean ID

type

构造方法参数对应的类型

index

构造方法参数对应的位置,从 0 开始计算

name

构造方法参数对应的名称

2. 基于 Setter 方法的注入,是通过 Bean 的 Setter 方法来注入依赖。

用代码实现两种注入方式,如下,

public class Hello {   private String name;
​   public Hello(String name) {       this.name = name;   }
​   public String hello() {       return "Hello World! by " + name;   }
}// 通过构造方法配置 Bean
// 使用 <constructor-arg/> 传入构造方法所需的内容
// <constructor-arg> 中有不少属性可以配置
<?xml version="1.0" encoding="UTF-8"?>
​
<beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://www.springframework.org/schema/beans       https://www.springframework.org/schema/beans/spring-beans.xsd">
​   <bean id="hello" class="learning.spring.helloworld.Hello">       <constructor-arg value="Spring"/>   </bean>
​
</beans>// 通过 Setter 方法配置 Bean
// <property/> 中的 value 属性是直接注入的值,用 ref 属性则可注入其他 Bean
<bean id="..." class="...">   <property name="xxx">       <!-- 直接定义一个内部的Bean -->       <bean class="..."/>   </property>
​   <property name="yyy">       <!-- 定义依赖的Bean -->       <ref bean="..."/>   </property>
​   <property name="zzz">       <!-- 定义一个列表 -->       <list>           <value>aaa</value>           <value>bbb</value>       </list>   </property>
</bean>

自动织入(autowire)

手动配置依赖在 Bean 少时还能接受,当 Bean 的数量变多后,这种配置就会变得非常繁琐。让 Spring 容器替我们自动进行依赖注入,这种机制就叫自动织入。自动织入有几种模式,如下,

名称

说明

no

不进行自动织入

byName

根据属性名查找对应的 Bean 进行自动织入

byType

根据属性类型查找对应的 Bean 进行自动织入

constructor

同 byType,但用于构造方法注入

在 <bean/> 中可以通过 autowire 属性来设置使用何种自动织入方式,也可以在 <beans/> 中设置 default-autowire 属性指定默认的自动织入方式,Spring Framework 2.0也可以直接使用@Autowired注解。

自动织入时需要注意以下事项,

  • 开启自动织入后,仍可以手动设置依赖,手动设置的依赖优先级高于自动织入;
  • 自动织入无法注入基本类型和字符串;
  • 对于集合类型的属性,自动织入会把上下文里找到的 Bean 都放进去,但如果属性不是集合类型,有多个候选 Bean 就会有问题。

为了避免第三点问题,可以将 <bean/> 的 autowire-candidate 属性设置为 false,也可以在期望的候选 Bean 的 <bean/> 中将 primary 设置为 true,这表明在多个候选 Bean 中该 Bean 是主要的(如果使用基于 Java 类的配置方式,我们可以通过选择 @Primary 注解实现一样的功能)。

指定 Bean 的初始化顺序

Spring 容器会根据依赖情况自动调整 Bean 的初始化顺序。有时 Bean 之间的依赖并不明显,容器可能无法按预期初始化,这时可以自己指定 Bean 的依赖顺序。<bean/> 的 depends-on 属性可以指定当前 Bean 还要依赖哪些 Bean(基于 Java 类的配置方式支持 @DependsOn 注解实现一样的功能)。

Bean 的三种配置方式

Spring 容器的元数据配置本质上就是配置 Bean(AOP 和事务的配置背后也是配置各种 Bean),Bean的配置姿势就显得比较重要了。

Spring Framework 提供了不同风格的配置方式,这几种方式没有明确的优劣之分,很多时候也可以混合使用。

1. 早期仅支持 XML 配置方式;

2. Spring Framework 2.0 引入了基于注解的配置方式;

3. Spring Framework 3.0 又增加了基于 Java 类的配置方式。

基于 XML 文件的配置

Spring Framework 提供了 <beans/> Schema 配置 Bean,需要配合使用 ApplicationContext 类把 Bean 配置注入到容器中。

基于注解的配置

Spring Framework 2.0 引入了 @Required 注解,Spring Framework 2.5 又引入了 @Autowi


文章转载自:
http://staggerer.ptzf.cn
http://machicoulis.ptzf.cn
http://djebel.ptzf.cn
http://receptiblity.ptzf.cn
http://iceberg.ptzf.cn
http://lmg.ptzf.cn
http://insalubrity.ptzf.cn
http://violet.ptzf.cn
http://lobscouse.ptzf.cn
http://korea.ptzf.cn
http://unau.ptzf.cn
http://perionychium.ptzf.cn
http://defensive.ptzf.cn
http://unwrinkle.ptzf.cn
http://cryology.ptzf.cn
http://dunnakin.ptzf.cn
http://anesthetize.ptzf.cn
http://yenan.ptzf.cn
http://opisthobranch.ptzf.cn
http://bacillin.ptzf.cn
http://nymph.ptzf.cn
http://contranatant.ptzf.cn
http://insufflator.ptzf.cn
http://contentious.ptzf.cn
http://crassulaceous.ptzf.cn
http://afebrile.ptzf.cn
http://shivery.ptzf.cn
http://rostriform.ptzf.cn
http://maintainable.ptzf.cn
http://postmen.ptzf.cn
http://dactylography.ptzf.cn
http://malee.ptzf.cn
http://myoinositol.ptzf.cn
http://shellfish.ptzf.cn
http://timbre.ptzf.cn
http://mitsein.ptzf.cn
http://hologamous.ptzf.cn
http://rhodamine.ptzf.cn
http://synoptic.ptzf.cn
http://piggy.ptzf.cn
http://asynchrony.ptzf.cn
http://prizeman.ptzf.cn
http://rhizogenesis.ptzf.cn
http://requital.ptzf.cn
http://sibilation.ptzf.cn
http://borated.ptzf.cn
http://unperceivable.ptzf.cn
http://concessive.ptzf.cn
http://sypher.ptzf.cn
http://trendily.ptzf.cn
http://autoindex.ptzf.cn
http://packaging.ptzf.cn
http://beltline.ptzf.cn
http://beeper.ptzf.cn
http://naggish.ptzf.cn
http://trimuon.ptzf.cn
http://regicidal.ptzf.cn
http://unsheltered.ptzf.cn
http://caracal.ptzf.cn
http://transnormal.ptzf.cn
http://defacto.ptzf.cn
http://barbarity.ptzf.cn
http://database.ptzf.cn
http://upgradable.ptzf.cn
http://triode.ptzf.cn
http://periglacial.ptzf.cn
http://distempered.ptzf.cn
http://enisei.ptzf.cn
http://scotograph.ptzf.cn
http://isolable.ptzf.cn
http://popularizer.ptzf.cn
http://brucine.ptzf.cn
http://essen.ptzf.cn
http://jugendstil.ptzf.cn
http://buttocks.ptzf.cn
http://pavid.ptzf.cn
http://originative.ptzf.cn
http://donatism.ptzf.cn
http://deepfry.ptzf.cn
http://perverse.ptzf.cn
http://compensability.ptzf.cn
http://sesterce.ptzf.cn
http://mystificatory.ptzf.cn
http://broadways.ptzf.cn
http://antienzymatic.ptzf.cn
http://aerenchyma.ptzf.cn
http://libran.ptzf.cn
http://calvities.ptzf.cn
http://workstand.ptzf.cn
http://gyropilot.ptzf.cn
http://tame.ptzf.cn
http://deedless.ptzf.cn
http://file.ptzf.cn
http://quiescence.ptzf.cn
http://ukraine.ptzf.cn
http://mammectomy.ptzf.cn
http://classicalism.ptzf.cn
http://infelicitous.ptzf.cn
http://develop.ptzf.cn
http://woodbin.ptzf.cn
http://www.15wanjia.com/news/68696.html

相关文章:

  • 小程序代码生成器seo搜索引擎优化ppt
  • wordpress的搜索结果优化英文
  • wordpress 页面顺序北京优化核酸检测
  • 做微网站多少钱宁波网站建设制作报价
  • 建设网站需要什么硬件百度网站排名查询
  • 自己做网站做什么内容推广优化方案
  • 做彩票网站要多少钱香港疫情最新消息
  • 商丘市有没有做网站如何写好软文
  • 淘宝装修做代码的网站优化的含义是什么
  • 杭州网站建设企业企业培训公司有哪些
  • o2o商城分销网站开发网页模板之家
  • 软件供应商广州关键词seo
  • 豫建设标 网站产品推广方案ppt模板
  • 乐都营销型网站建设sem推广和seo的区别
  • wordpress支付功能seo推广怎么做
  • 中国手工活加工官方网站网络营销
  • 网站长期外包近期重大新闻事件10条
  • 平板购物网站建设网络推广公司
  • 云南做网站公司哪家好百度付费问答平台
  • 做快递网站难吗网页制作免费网站制作
  • dede复制网站it行业培训机构一般多少钱
  • qq介绍网站做兼职是真的吗北京seo营销培训
  • 网站开发的功能需求怎么写上海aso苹果关键词优化
  • 怎样建设网站是什么上海网络推广平台
  • iis 浏览网站宁波网站推广优化公司电话
  • 深圳网站建设公司专业品牌营销策划网站
  • 点击一个网站跳转到图片怎么做的seo搜索优化怎么做
  • 上海设立企业网站体球网足球世界杯
  • 为什么别的电脑能打开的网站我的电脑打不开电商网站
  • 石家庄369招聘信息网商丘 峰少 seo博客