個人學習筆記,記錄了一些比較基礎的標注;
1、@controller 控制器(注入服務)
2、@service 服務(注入dao)
3、@repository dao(實現dao訪問)
4、@component pojo實例化到spring容器中,相當于配置文件中的<bean id="" class=""/>,泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注;
自動掃描機制:
beans.xml文件
<context:component-scan base-package="com.Dao"></context:component-scan>會自動掃描 com.Dao包下面做了標注的java Bean。
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd"> <context:component-scan base-package="com.Dao"></context:component-scan> </beans>
查看Spring容器中所有的javaBean
public static void main(String[] args) {ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");System.out.println(java.util.Arrays.toString(context.getBeanDefinitionNames()));}
輸出結果:
[studentManagerImpl, TEXT, teacherManagerImpl, org.springframework.context.annotation.internalConfigurationAnnotationProcessor,
org.springframework.context.annotation.internalAutowiredAnnotationProcess……………