温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring使用注解开发的方法

发布时间:2022-05-20 16:51:47 来源:亿速云 阅读:139 作者:iii 栏目:开发技术

这篇文章主要介绍了Spring使用注解开发的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring使用注解开发的方法文章都会有所收获,下面我们一起来看看吧。

    在Spring4之后 要使用注解开发 必须保证aop包导入了

    Spring使用注解开发的方法

    使用注解需要导入context约束 增加 注解的支持

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           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">
        <!--开启注解的支持-->
        <context:annotation-config/>
    </beans>

    @Component:组件放在类上 说明这个类被Spring管理了 就是bean

    import org.springframework.stereotype.Component;
    //等价于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {
        public String name = "xxx";
    }

    @Value

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    //等价于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {
        @Value("xxx")
    //等价于<property name="name" value="xxx"/>
        public String name;
    }

    或者

    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    //等价于<bean id="user" class="com.kero.pojo.User"/>
    @Component
    public class User {  
        public String name;
        @Value("xxx")
        public void setName(String name) {
            this.name = name;
        }
    }

    @Component有几个衍生的注解 我们在Web开发中会按照MVC三层架构分层

    &middot;dao[@Repository]

    &middot;service[@Service]

    &middot;controller[@Controller]

    这四个注解功能一样 都是代表将某个类注册到Spring中 装配Bean

    Spring使用注解开发的方法

    Spring使用注解开发的方法

    Spring使用注解开发的方法

    注解的作用域@Scope

    @Scope 放在类上,默认是单例模式

    @Scope(prototype)是原型模式,每次创建的都是一个新的对象

    Spring使用注解开发的方法

    其作用等价于

    Spring使用注解开发的方法

    补充:

    @Scope("singleton") 或者@Scope 单例模式 下面代码输出结果为true

    @Scope("prototype")下面代码输出结果为false

    import com.kero.pojo.User;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MyTest {
        public static void main(String[] args) {
           ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
            User user = context.getBean("user", User.class);
            User user2 = context.getBean("user", User.class);
            System.out.println(user==user2);
        }
    }

    xml vs 注解

    &middot;xml更加万能 适用于任何场合 维护简单方便

    &middot;注解 不是自己类使用不聊 维护相对复杂

    最佳实践:xml用来管理bean

    注解只负责完成属性的注入

    我们在使用的过程中 需要注意 使用以下代码

    <!--指定要扫描的包 这个包下的注解就会生效->-->
        <context:component-scan base-package="com.kero"/>
        <!--开启注解的支持-->
        <context:annotation-config/>

    针对最佳实践的例子

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           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">
    <!--指定要扫描的包 这个包下的注解就会生效->-->
        <context:component-scan base-package="com.kero"/>
        <!--开启注解的支持-->
        <context:annotation-config/>
        <bean id="user" class="com.kero.pojo.User" scope="prototype"/>
    </beans>
    import org.springframework.beans.factory.annotation.Value;
    public class User {
        @Value("XXX")
        public String name;
        public void setName(String name) {
            this.name = name;
        }
    }

    关于“Spring使用注解开发的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Spring使用注解开发的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI