当前位置: 代码网 > it编程>编程语言>Java > Spring获取JavaBean的xml和注解方式详解,哪种更简单

Spring获取JavaBean的xml和注解方式详解,哪种更简单

2026年08月24日 Java 我要评论
spring获取javabean的xml形式和注解形式一、用xml文件方式管理javabean1. 创建一个xml配置文件2. 将一个bean交由spring创建并管理<!--1. 创建一个xm

spring获取javabean的xml形式和注解形式

一、用xml文件方式管理javabean

1. 创建一个xml配置文件

2. 将一个bean交由spring创建并管理

<!--1. 创建一个xml配置文件-->
<?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
       http://www.springframework.org/schema/beans/spring-beans.xsd">
       <!--2. 将一个bean交由spring创建并管理-->
        <bean id="javabean" class="com.gblfy.ioc.javabean"/>
</beans>

注:用id作为bean的唯一标识 用class来指定这个bean是哪个类

3. 获取spring上下文,获取bean

 applicationcontext context =
                new classpathxmlapplicationcontext("applicationcontext.xml");

获取bean

 javabean javabean = context.getbean("javabean",javabean.class);

二、用注解获取javabean

1. 创建一个class配置java文件

2. 将一个bean交由spring创建并管理

//1 .创建一个class配置java文件
@configuration
public class configuation {

    //2. 将一个bean交由spring创建并管理
    @bean(value = "bean2")
    public javabean javabean(){
        return new javabean();
    }
}

3. 获取spring上下文,后去javabean

 //3. 获取spring上下文
        applicationcontext context =
                new annotationconfigapplicationcontext(configuation.class);

        //获取 bean
        javabean javabean = context.getbean("javabean",javabean.class);
        system.out.println("javabean"+javabean);

总结:都是初始化spring上下文获取javabean

三、获取javabean对比

上面只是由xml形式获取javabean变成了注解形式,但是,代码量没有减少,那如何简化呢?

四、简化注解获取javabean

1.在javabean类上添加@component注解

@component
public class javabean { }

2. 在配置java类上添加@componentscan注解,value 属性设置spring扫描那些bean

//创建一个class配置java文件
@configuration
@componentscan(value = "com.gblfy.ioc")
public class configuation { }

3. 初始化spring上下文,获取bean就可以了

//获取spring上下文
        applicationcontext context =
                new annotationconfigapplicationcontext(configuation.class);

        //huoqu bean
        javabean javabean = context.getbean("javabean",javabean.class);
        system.out.println("javabean"+javabean);

原理:通过@componentscan注解来告知spring,让spring扫描这个包结构下的所有class

那么扫描的原则是什么呢?

扫描原则:在刚才包结构下类上有@component注解的class,这些class将交由spring来管理,并由spring来为我们实例化这些class的javabean。

javabean的id默认为类名小写,如果,想自定义bean的id在@component的value 属性中添加value即可;

@component(value = "javabeanid")
public class javabean { }

配置包扫描,在类上添加注解,就可以交由spring来管理,并进行实例化

注解:

注解位置注解名称
controller层@controller
service层@service
持久层@repository
其它层@component

依赖附上

<dependencies>
        <dependency>
            <groupid>org.springframework</groupid>
            <artifactid>spring-core</artifactid>
            <version>5.1.8.release</version>
        </dependency>
        <dependency>
            <groupid>org.springframework</groupid>
            <artifactid>spring-context</artifactid>
            <version>5.1.8.release</version>
        </dependency>
        <dependency>
            <groupid>junit</groupid>
            <artifactid>junit</artifactid>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com