[Spring]-各种标注-零配置
个人学习笔记,记录了一些比较基础的标注;
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/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://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……………