@Configuration注解可以达到在Spring中使用xml配置文件的作用。
@Bean就等同于xml配置文件中的<bean>
举例说明:
在普通的Spring配置文件中,需要引入spring-content-shiro.xml文件。
<?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 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"
default-lazy-init="true">
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
<!-- session的失效时长,单位毫秒 -->
<property name="globalSessionTimeout" value="600000"/>
<!-- 删除失效的session -->
<property name="deleteInvalidSessions" value="true"/>
</bean>
</beans>
在Springboot里 只需要注解类名和方法名
@Configuration
public class ShiroConfig {
@Bean("sessionManager")
public SessionManager sessionManager(){
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setGlobalSessionTimeout(600000);
sessionManager.setDeleteInvalidSessions(true);
return sessionManager;
}
}
在bean中的class = "org.apache.shiro.web.session.mgt.DefaultWebSessionManager" 应该就是在java代码里返回的那个SessionManager了。
各个属性都是对应的。
嗯。差不多是这个意思了。
以后有发现再补。
2017-11-15 14:10:03