applicationContext.xml配置简介-飞外

表示启动spring的组件扫描功能(从spring2.5版本开始)。即扫描base-package包或者子包下面的Java文件,如果扫描到有@controller、@Service、@Repository、@Component等注解的java类,就会将这些bean注册到工厂中。还可以使用分号来分隔多个扫描包。

如果在配置文件中配置了 context:component-scan / ,就不用在配置 context:annotation-config/ ,因为前者已经包含了后者。 context:annotation-config/ 的作用是向spring容器注入AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor 及RequiredAnnotationBeanPostProcessor 四个beanPostProcessor。从而使得@Autowired等注解生效。


mvc:annotation-driven / 是告知Spring,我们启用注解驱动。然后Spring会自动为我们注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter等几个Bean到工厂中,此时我们可以使用@RequestMapping、@Valid注解来处理请求,也可以使用@ResponseBody来处理返回结果。


value /WEB-INF/mail.properties /value value classpath: conf/sqlmap/jdbc.properties /value /list /property /bean

PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用$${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进 行修改,而不用对xml配置文件进行修改。

上面有两种value的写法,其中classpath是引用src目录下的文件写法。


 bean scope="singleton"   property   /  property   /  property   /  property   /  /bean 

DriverManager类的主要作用是管理注册到DriverManager中的JDBC驱动程序,并根据需要使用JDBC驱动程序建立与数据服务器的网络连接。

DriverManagerDataSource在每个连接请求时都新建一个连接,但是建立与数据库的连接是一项较耗资源的工作,频繁的进行数据库连接建立操作会产生较大的系统开销,为了解决上述问题,可以采用数据库连接池技术,例如dbcp、c3p0、druid(spring配置数据库连接池druid)。


property ref="dataSource" / property / property array value classpath:com/wdcloud/fayu/mapper/*Mapper.xml /value /array /property !-- 配置此项则在mapper中可以直接使用实体类名,而不需要使用全路径名 -- property / /bean !-- 自动扫描注册mapper接口类(接口类实现mybatis) -- bean property / /bean !-- sqlSessionTemplate配置(模板类实现mybatis) -- bean scope="prototype" constructor-arg index="0" ref="sqlSessionFactory"/ /bean

上面为mybatis在spring中的配置,其中有两种实现方式:接口类实现和模板类实现。

SqlSessionFactoryBean是mybatis的核心管理类,通过dataSource指定数据源,configLocation指定mybatis的配置文件,mapperLocations指定mapper的xml文件。

MapperScannerConfigurer的作用是自动扫描注册mapper接口类到spring工厂中,当你的mapper接口类存在于多个目录下时,basePackage的值可以配置成多个目录,中间用英文逗号隔开即可。

SqlSessionTemplate的作用是基于持久化模板类实现Mybatis(具体实现步骤)。