spring自動掃描的注解@Component @Controller @Service @Repository


@Component @Controller @Service @Repository的作用

1、@controller 控制器(注入服務)
2、@service 服務(注入dao)
3、@repository dao(實現dao訪問)
4、@component (把普通pojo實例化到spring容器中,相當於配置文件中的<bean id=”” class=””/>)


@Component,@Service,@Controller,@Repository注解的類,並把這些類納入進spring容器中管理。
下面寫這個是引入component的掃描組件

<context:component-scan base-package="包路徑"/>

其中base-package為需要掃描的包,可以包括下面的子包,比如:com.iitshare.hapishop、com.iitshare.hapicms


1、@Service用於標注業務層組件
2、@Controller用於標注控制層組件(如struts中的action)
3、@Repository用於標注數據訪問組件,即DAO組件.
4、@Component泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注。


如下代碼:

 1 @RequestMapping("/admin/log")
 2 public class LogController extends
 3     BaseController {
 4      
 5 }
 6 @Service("logServiceImpl")
 7 public class LogServiceImpl extends BaseServiceImpl<Log, Long> implements
 8         LogService {
 9 }
10 @Repository("logDaoImpl")
11 public class LogDaoImpl extends BaseDaoImpl<Log, Long> implements
12     LogDao {
13 }

 

getBean的默認名稱是類名(頭字母小寫),如果想自定義,可以@Service(“***”)這樣來指定。這種bean默認是單例的,如果想改變,可以使用以下方法:
@Service(“beanName”)
@Scope(“prototype”)來改變。
可以使用以下方式指定初始化方法和銷毀方法(方法名任意):
@PostConstruct public void init() { }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM