<?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:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
<!--引入配置文件-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--进行包扫描-->
<context:component-scan base-package="com.service.*">
</context:component-scan>
<!--数据库连接池的配置-->
<bean id="druiddataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!--创建SQLsessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="druiddataSource"></property>
<!--扫描mapper-->
<property name="mapperLocations" value="classpath:com/dao/impl/*Mapper.xml"></property>
<property name="typeAliasesPackage" value="classpath:com.entity"></property>
</bean>
<!--dao-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<property name="basePackage" value="com.dao"></property>
</bean>
<!--创建事务管理逻辑-->
<bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" value="druiddataSource"></property>
</bean>
<!--创建事务-->
<tx:annotation-driven></tx:annotation-driven>
<!--创建shiro的安全管理器-->
<!-- 创建凭证器 -->
<bean id="credentialsMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<property name="hashAlgorithmName" value="MD5"></property>
<property name="hashIterations" value="2615"></property>
</bean>
<!-- 配置自定义relam -->
<bean id="nameRealm" class="com.shiro.CustomRealm">
<property name="credentialsMatcher" ref="credentialsMatcher"></property>
</bean>
<!-- 会话管理对象 -->
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
</bean>
<!-- web环境下的securityManager 安全管理器-->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<!--
会话管理属性 非web环境 shiro session
web环境 HttpSession
-->
<property name="sessionManager" ref="sessionManager" ></property>
<property name="realm" ref="nameRealm">
</property>
<!--<property name="realms">
<list>
<ref local="nameRealm"/>
</list>
</property>-->
</bean>
<!--在Spring的集成文件中 创建ShiroFilter 对资源做到安全控制。-->
<bean id="shiroFilterFactoryBean" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<!--shiro核心安全管理器-->
<property name="securityManager" ref="securityManager"></property>
<!--登录的url 默认是/login.jsp-->
<property name="loginUrl" value="/login.jsp"></property>
<property name="successUrl" value="/index.jsp"></property>
<property name="filterChainDefinitions">
<value>
/login.jsp = anon
/regist.jsp=anon
/css/** = anon
/js/** = anon
/vcode=anon
/adm/** = anon
/logout = logout
/** = authc
</value>
</property>
</bean>
</beans>