最新公告
  • 欢迎您光临极客文库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • Spring的属性注入-注解方式

    使用@AutoWired进行自动注入

    @AutoWired默认按照类型进行注入

    – 如果存在两个相同Bean类型相同,则按照名称注入

    @AutoWired注入时可以针对成员变量或者set方法

    通过@AutoWired的required属性,设置一定要找到匹配的Bean

    使用@Qualifier指定注入Bean的名称

    使用Qualifier指定Bean名称后,注解Bean必须指定相同名称

    Spring提供对JSR-250中定义@Resource标准注解的支持

    @Resource和@AutoWired注解功能相似

    代码演示

    如果是简单类型的值的话,我们可以直接写上一个注解value,比如在UserService中

    public class UserService {
        @Value("米饭")
        private String something;
    
        public String sayHello(String name){
            return "Hello" + name;
        }
    
        public void eat(){
            System.out.println("eat:"+something);
        }
    
    }
    

    SpringDemo1中写一个测试方法

    @Test
    public void demo2(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
    
        UserService userService = (UserService) applicationContext.getBean("userService");
    
        userService.eat();
    }
    

    运行程序,直接输出了“米饭”,使用注解的方式,都可以直接没有set,get方法,当然开发中这种简单属性注入并不多。

    新建一个类UserDao

    @Repository("userDao")
    public class UserDao {
        public void save(){
            System.out.println("DAO中保存用户...");
        }
    }
    

    UserService中也写一个保存方法

    public void save(){
            System.out.println("Service中保存用户...");
            userDao.save();
    }
    

    此时需要调用Dao,这个时候我们就要注入Dao了,使用@Autowired完成注入

    public class UserService {
        @Value("米饭")
        private String something;
        @Autowired
        private String userDao;
    
        public String sayHello(String name){
            return "Hello" + name;
        }
    
        public void eat(){
            System.out.println("eat:"+something);
        }
    
    }
    

    运行程序,Service和Dao中的方法都被调用了

    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » Spring Bean管理(注解方式)之属性注入的注解

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者
    • 102会员总数(位)
    • 3674资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 136稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级