首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring中Bean的几种配置

Spring中几种配置Bean的方式分别是:基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式

基于 XML 配置方式

XML 配置方式应该是比较麻烦也比较简单的一种方式了。所以关于 XML 的配置,我这里就直接列出几个栗子,直接看就好了。

这里这样配置,是要求我们的 Bean 类里面有我们的 set 方法的。

这里的要求是,在我们的 Bean 类中,要求有这三个参数的构造器,constructor-arg 是我们构造器参数列表,value 代表我们的参数值,index 表示当前参数是哪个位置的,type 表示参数的类型是什么。index 和 type 是可以混合使用的。

这里我们看到,一个人可能不止一辆车。所以多车是一个集合的形式,这个集合就对应着我们的 一个List .

可以看到,这里我们的list 相当于内置的,现在我们可以把这个list放出来

拿出来之后,对于上面的配置就可以改成

我们也可以设置内部 Bean , 对于内部 Bean ,类似于匿名内部类对象,不能被外来的 bean 引用,也没有设置 id 属性。

同样,我们的 bean 也可以被继承,使用 parent 来完成继承关系。

如果说,我们的一个 配置文件里面有许多不同类型的 bean 配置,放在一起会维护比较麻烦。所以我们会把相关的 bean 放在同一个 xml 文件里面,然后把 xml 作为资源导入到我们总的 xml 里面去。

基于注解的方式

组件类注解

注解的方式应该是最简单的一种的方式了。我们可以来看看我们常常用到的几个注解:

@Component基本注解,是Spring容器中的基本注解,表示一个容器的组件(bean),可以用做任何一个层次。

这里的 相当于我们的:

@Resposity标注的是一个数据访问层(DAO)层;

@Service标注一个业务逻辑层;

@Controller标注一个控件层。

以上几个注解实质是属于同一类注解,用法相同。功能相同,区别是标识的组件不同。后三者都是在 Component 的基础上被标注的。也就是说,@Component 可以替代后面的。我们加了注解后,最好在配置文件中让Spring搜索指定路径

Bean 的生命周期注解

在XML文件中使用的 和 属性,指定初始化之后和回调之前的回调方法。这两个属性的取值是bean中相应的初始化和销毁方法的名称。方法名称任意,但是方法不能有参数。

我们要是走注解的形式就是这样的。

这里,我们需要在 配置文件中加入(具体为啥,我也不是很清楚):

自动装配

@Autowired这是自动装配的注解,前面已经用过了就不在用了。官方给出的说法是:Marks a constructor, field, setter method or config method as to be autowired by Spring's dependency injection facilities. 我们可以通过这个注解给构造器,字段,set 方法或者是配置方法进行注入。

这里,如果说我们的Spring中存在多个所需类型的Bean , 我们使用这个注解来区分:

基于Java的方式

我们使用Java来配置元数据的时候呀,其实就是通过 Java类来定义Speing 配置元数据。这里,我们需要用到的几个配置:

*@Configuration标注配置类的

我们这里的 @Bean 配置,其实是:

具体怎么配置看具体需求。这里,我们如果需要引入我们的xml 的配置文件,就这样写:

如果我们要引入其他的配置类,就这样写:

我在网上找到了一个不同配置之间的总结:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200324A0EASQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券