栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Bean管理(注解开发方式)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Bean管理(注解开发方式)

使用注解定义Bean
  • Spring2.5 引入注解去定义Bean
    @Component 描述Spring框架中的Bean



        
        

  • 除了@Component外,Spring提供了3个功能基本和@Component等效的注解
    @Repositroy 用于对DAO实现类进行标注
    @Service 用于对Service实现类进行标注
    @Controller 用于对Controller实现类进行标注
    这三个注解是为了让标注类本身的用途清晰,Spring在后续版本中会对其增强
@Service("userService")    
public class UserService {
    public String sayHello(String name) {
        return "Hello" + name;
    }
}
Spring的属性注入-注解方式 一般类型
@Value("米饭")
    private String something;

如果有setter需要将注解加到setter上方,如果没有setter直接放在属性名上方即可

对象类型
  • 使用@Autowired进行自动注入
    @Autowired默认按照类型进行注入,如果存在两个相同Bean类型相同,则按照名称注入
    @Autowired注入时可以针对成员变量或者set方法
    @Autowired
    private UserDao userDao;
  • 通过@Autowired的required属性,设置一定要找到匹配的Bean
  • 使用@Qualifier指定注入Bean的名称
    @Autowired
    @Qualifier("UserDao")
    private UesrDao userDao;
  • Spring提供对JSR-250中定义@Resource标准主注解的支持
  • @Resource和@Autowired注解功能相似
    引入@Rescource注解时报错,可以通过加入依赖
    
      javax.annotation
      javax.annotation-api
      1.3.2
    
Spring的其他注解 Bean的生命周期注解
  • Spring初始化bean或销毁bean时,有时需要做一些处理工作,因此spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法
    xml方式:

    注解方式:
@Component("bean1")
public class Bean1 {
    @PostConstruct
    public void init(){
        System.out.println("initBean...");
    }

    public void say(){
        System.out.println("say.....");
    }

    @PreDestroy
    public void destory(){
        System.out.println("destoryBean...");
    }
}
Bean的作用范围的注解
  • 使用注解配置的Bean和配置的一样,默认作用范围都是singleton
  • @Scope注解用于指定Bean的作用范围
@Scope("prototype")
传统XML配置和注解配置混合使用
  • XML方式的优势
    结构清晰,易于阅读

  • 注解方式的优势
    开发便捷,属性注入方便

  • XML与注解的整合开发
    1.引入context命名空间
    2.在配置文件中添加context:annotation-config标签

        
        
        
        
    @Resource(name="categoryDao")
    private CategoryDao categoryDao;
    @Resource(name="productDao")
    private ProductDao productDao;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298637.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号