在spring的学习中,必定会遇到两个标签的使用,一个是:
<context:annotation-config/>
一个是:
<context:component-scan base-package="cn.com.lzxh"/>
那么这两个标签有什么作用,很多初学者会感到困惑,今天在这里做一个详细的分析,
<context:component-scan base-package="cn.com.lzxh"/>标签的作用是自动扫描,它会将base-package指定位置下的具有spring对应注解(@Component,@Service,@Repository,@Controller等)的类在加载容器时都注入springIOC容器,不用再单独使用bean标签注册,当我们使用对应类时,只需要使用@Autowired注解即可自动注入对象,该标签包含了<context:annotation-config/>标签的功能。因此使用<context:component-scan base-package="cn.com.lzxh"/>标签时,可以将<context:annotation-config/>标签省去,使用案例如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="ro