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 的配置文件,就这样写:
如果我们要引入其他的配置类,就这样写:
我在网上找到了一个不同配置之间的总结:
领取专属 10元无门槛券
私享最新 技术干货