zoukankan      html  css  js  c++  java
  • Spring框架中,在工具类或者普通Java类中调用service或dao

    spring注解的作用:

    1、spring作用在类上的注解有@Component、@Responsity、@Service以及@Controller;而@Autowired和@Resource是用来修饰字段、构造函数或者设置方法,并做注入的。

    2、当注解作用在类上时,表明这些类是交给spring容器进行管理的,而当使用@Autowired和@Resource时,表明我需要某个属性、方法或字段,但是并不需要我自己去new一个,只需要使用注解, spring容器会自动的将我需要的属性、方法或对象创造出来。这就是通常所说的依赖注入和控制反转。

    言归正传,下面说一下怎么在普通类中引用service或dao。

    实例代码如下:项目启动后会在控制台输出System.out.println中的内容。其中

    @PostContruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。

    与@PostConstruct一样,也可以在spring的配置文件中,配置init-method也可以达到项目启动时将某一个方法一起启动的目的。如下:

    <bean id="commonUtil" class="cn.xydata.pharmacy.util.CommonUtil" scope="singleton"  init-method="init"></bean>
    package com.wg.util;
    import java.util.List;
    import javax.annotation.PostConstruct;
    import javax.annotation.Resource;
    import org.springframework.stereotype.Component;
    import com.wg.bean.Message;
    import com.wg.dao.MessageDao;
    
    @Component
    public class CommonUtil {
    
        @Resource
        private MessageDao messageDao;
        
        private static CommonUtil commonUtil;
        
        @PostConstruct
        public void init(){
            commonUtil = this;
            System.out.println("测试一下***********"+getMessages());
        }
        
        public static List<Message> getMessages(){
            List<Message> messages = commonUtil.messageDao.getBean();
            return messages;
        }
    }

    参考文档:https://blog.csdn.net/chrise_/article/details/80338565

  • 相关阅读:
    dubbo源码解析-spi(3)
    dubbo源码解析-spi(二)
    dubbo源码解析-spi(一)
    java-nio之zero copy深入分析
    Java SPI(Service Provider Interface)简介
    分析 Java heap dump工具之IBM HeapAnalyzer
    深入理解分布式事务
    NIO中的heap Buffer和direct Buffer区别
    Guava之Iterables使用示例
    Android开发中常见的设计模式 MD
  • 原文地址:https://www.cnblogs.com/Crysta1/p/9328960.html
Copyright © 2011-2022 走看看