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也可以达到项目启动时将某一个方法一起启动的目的。如下:
packagecom.wg.util;importjava.util.List;importjavax.annotation.PostConstruct;importjavax.annotation.Resource;importorg.springframework.stereotype.Component;importcom.wg.bean.Message;importcom.wg.dao.MessageDao;
@Componentpublic classCommonUtil {
@ResourceprivateMessageDao messageDao;private staticCommonUtil commonUtil;
@PostConstructpublic voidinit(){
commonUtil= this;
System.out.println("测试一下***********"+getMessages());
}public staticList getMessages(){
List messages =commonUtil.messageDao.getBean();return messages;
}
}