@Component
通用注解,当不知道那一类归为哪层使用时可用该注解;
用于把当前类对象存入Spring容器中;相当于配置文件中的
比如:日志类上@Component(“logger”)
等于配置文件:
<bean id="logger" class="com.itheima.utils.Logger"></bean>
@Controller
对应表现层
@Controller("accountService")
@Service
对应业务层
@Repository
对应持久层,写在dao impl上;
@Controller、@Service、@Repository可以理解为@Component的子类继承父类,@Component的功能@Controller、@Service、@Repository都有,使得三层架构更加明显,结构化;
@Autowired
自动注入,让spring自动完成bean的配置工作
@Qualifer
IUserDao有两个实现,通过@Qualifer确定一个接口唯一实现
@Resource
和@Autowired+@Qualifer的功能是一样的;
@Resource(name = "accountDao")
@Configuration
配置类,和bean.xml作用一样,指定当前类是一个配置类;
可配置数据源等;
@CompanScan
通过注解在指定spring在创建容器时要扫描的包
@ComponentScan(basePackages = "com.itheima")
扫描com.ithiema下面的包
@Bean
用于把当前方法的返回值作为bean对象存入spring Ioc容器中;
@Import
用于导入配置类
@Import(JdbcConfig.class)
@Property Source用于指定properties文件位置
@Property Source("classpath:jdbcConfig.properties")
@Runwith
用于把原有main方法替换掉