- 博客(0)
- 资源 (111)
- 收藏
- 关注
SpringMybatisRedis整合
项目说明 :
这是一个spring-mybatis整合的项目...使用spring-mvc做控制器..使用了三种dao的实现方式..
定义 : MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。
优点 : MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
Mybatis官方文档 :
http://mybatis.github.io/mybatis-3/zh/index.html
Mybatis-spring官方文档 :
http://mybatis.github.io/spring/zh/index.html
Dao的分类 :
⑴使用接口映射mapper的方式..
方式 : 简单,易用..接口声明的方法就是mapper里面id的属性值..
⑵Template方式
方式 :
在spring的配置文件中注入如下模板类,然后直接注入调用
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
⑶UserSupportDao方式
方式 :
直接继承该类...然后调用getSqlSession()再去调用相应的类就行
2015-11-06
SpringShiro分布式缓存版
这是一个shiro的入门Demo..
使用了Spring MVC,mybaits等技术..
数据库设计 :
User : name--password
Role : id--userid--roleName
Function : id--userid--url
tinys普通用户只能访问index.jsp
admin用户通过添加了admin的permission,所以可以访问admin.jsp
role用户通过添加了role角色,所以可以访问role.jsp
这是最基本的shiro的运用..目的是让你快速了解shiro的机制..
这个Demo体现shiro的地方主要在两个类以及shiro.xml的配置文件
CustomRealm : 处理了登录验证以及授权..
ShiroAction : 用来传递登录时的用户数据..转换为token传递给realm...之后根据结果做相应的逻辑处理..
shiro.xml : shiro的主要配置...
规则定义在以下地方 :
/login.jsp* = anon
/index.jsp* = authc
/index.do* = authc
/admin.jsp*=authc,perms[/admin]
/role.jsp*=authc,roles[role]
-------------------------------------------------------------------------------------------------------------------------------------------------------------
2015-10-28更新
--通过添加了以下内容来使用注解方式配置权限....
unauth
login
--修改了过滤链
//简单的讲就是把需要特别处理的路径写到前面,越特殊写到越前
/shiro/login.do*=anon
/login.jsp* = anon
/admin.jsp*=authc,perms[/admin]
/role.jsp*=authc,roles[role]
/** = authc
---------------------------------------------------------------------------------------------------------------------------------------------------
15-10-29
添加了使用ehcache的缓存机制
添加了redis缓存...
2015-10-29
shiro注解版
这是一个shiro的入门Demo..
使用了Spring MVC,mybaits等技术..
数据库设计 :
User : name--password
Role : id--userid--roleName
Function : id--userid--url
tinys普通用户只能访问index.jsp
admin用户通过添加了admin的permission,所以可以访问admin.jsp
role用户通过添加了role角色,所以可以访问role.jsp
这是最基本的shiro的运用..目的是让你快速了解shiro的机制..
这个Demo体现shiro的地方主要在两个类以及shiro.xml的配置文件
CustomRealm : 处理了登录验证以及授权..
ShiroAction : 用来传递登录时的用户数据..转换为token传递给realm...之后根据结果做相应的逻辑处理..
shiro.xml : shiro的主要配置...
规则定义在以下地方 :
<!-- 过滤链定义 -->
<property name="filterChainDefinitions">
<value>
/login.jsp* = anon
/index.jsp* = authc
/index.do* = authc
/admin.jsp*=authc,perms[/admin]
/role.jsp*=authc,roles[role]
</value>
</property>
2015-10-28更新
--通过添加了以下内容来使用注解方式配置权限....
<!-- Support Shiro Annotation 必须放在springMVC配置文件中 -->
<!-- 异常处理,权限注解会抛出异常,根据异常返回相应页面 -->
<bean
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="org.apache.shiro.authz.UnauthorizedException">unauth</prop>
<prop key="org.apache.shiro.authz.UnauthenticatedException">login</prop>
</props>
</property>
</bean>
<bean
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor" />
<bean
class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>
<!-- end -->
--修改了过滤链
<!-- 过滤链定义 -->
//简单的讲就是把需要特别处理的路径写到前面,越特殊写到越前
<property name="filterChainDefinitions">
<value>
<!-- 注意这里需要把前缀写全.../shiro这里 -->
/shiro/login.do*=anon
/login.jsp* = anon
/admin.jsp*=authc,perms[/admin]
/role.jsp*=authc,roles[role]
/** = authc
</value>
</property>
2015-10-28
Shiro入门框架
这是一个shiro的入门Demo..
使用了Spring MVC,mybaits等技术..
数据库设计 :
User : name--password
Role : id--userid--roleName
Function : id--userid--url
tinys普通用户只能访问index.jsp
admin用户通过添加了admin的permission,所以可以访问admin.jsp
role用户通过添加了role角色,所以可以访问role.jsp
这是最基本的shiro的运用..目的是让你快速了解shiro的机制..
这个Demo体现shiro的地方主要在两个类以及shiro.xml的配置文件
CustomRealm : 处理了登录验证以及授权..
ShiroAction : 用来传递登录时的用户数据..转换为token传递给realm...之后根据结果做相应的逻辑处理..
shiro.xml : shiro的主要配置...
规则定义在以下地方 :
<!-- 过滤链定义 -->
<property name="filterChainDefinitions">
<value>
/login.jsp* = anon
/index.jsp* = authc
/index.do* = authc
/admin.jsp*=authc,perms[/admin]
/role.jsp*=authc,roles[role]
</value>
</property>
2015-10-12
security第三版
项目说明 :
这是一个spring-security的Demo..第三版...基本可以拿来作为一个项目的雏形的权限设计了..
数据库表 :
user --用户表
*name
*pwd
*roleid //关键是这个属性
role --角色表
*id //角色id
*roleName //角色名字
function
*id //功能表id
*roleid //角色id
*url //相应的路径
****重点*****
我们以角色表为中间表,关联起来用户表和功能权限表...
security在初始化时会读入全部的权限设计....
比如url--->{functionid} //字符串-->集合的 Map
用户登录时会保存一个用户的{functionids}
最后用户每访问一个路径时,security会根据这个url找到对应的{system-functionids}集合,然后再去判断用户的权限{user-functionids}是否有这个值..
****重点解释*****
关于权限设计这一块,看项目需要...你可以设计得更细分..设计更多的表来区分权限..中心思想类似于我上面说的..
项目里面以及配套了sql语句.
admin用户可以访问全部页面,tinys用户只可以访问index页面..
login没设置拦截...accessDeny是权限不足返回的页面..
这里本来想统筹spring mvc...但是为了体现security,就直接使用jsp来替代了...
主要的代码在于 :
util.security包..以及spring-security.xml配置文件
2015-08-31
security第二版
项目说明 :
这是一个spring-security的Demo..第二版...实现自定义登录验证了..
security里面的权限用户是读取数据库表格的....
本项目的权限设计是 :
user表里面有一个角色字段..
这个角色字段对应相应可以访问页面的权限..
以此达到最简单的权限设计...
项目里面以及配套了sql语句.
admin用户可以访问全部页面,one用户只可以访问index页面..
login没设置拦截...accessDeny是权限不足返回的页面..
这里本来想统筹spring mvc...但是为了体现security,就直接使用jsp来替代了...
主要的代码在于 :
util.security包..以及spring-security.xml配置文件
本项目是参考此博文的 :
http://blog.youkuaiyun.com/u012367513/article/details/38866465
2015-08-31
security入门Demo
项目说明 :
这是一个spring-security的Demo..第一版...最简易版..目的是做到user表与security结合..
security里面的权限用户是读取数据库表格的....
本项目的权限设计是 :
user表里面有一个角色字段..
这个角色字段对应相应可以访问页面的权限..
以此达到最简单的权限设计...
项目里面以及配套了sql语句.
admin用户可以访问全部页面,one用户只可以访问index页面..
login没设置拦截...accessDeny是权限不足返回的页面..
这里本来想统筹spring mvc...但是为了体现security,就直接使用jsp来替代了...
主要的代码在于 :
util.security包..以及spring-security.xml配置文件
本项目是参考此博文的 :
http://blog.youkuaiyun.com/u012367513/article/details/38866465
2015-08-25
JMS入门Demo
ActiveMQ安装 :
1.下载:http://activemq.apache.org/download.html 最新Windows版本
2.配置jdk环境,解压ActiveMQ到本地
3.启动ActiveMQ服务器:
32位机 : 直接运行\bin\win32\activemq.bat
64位机 : 直接运行\bin\win64\activemq.bat
4.打开ActiveMQ消息管理后台系统 http://localhost:8161/admin/
参考文章为 :
HelloWorld : http://blog.youkuaiyun.com/baggio7095586/article/details/5708519
进阶 :http://haohaoxuexi.iteye.com/blog/1893038
helloworld阶段 : 一个发送消息的程序,一个接收消息的程序..实现最简单的JMS交流...
监听器阶段 :
⑴MessageListener,最简单的监听器..只是拿来监听接收信息的
⑵SessionAwareMessageListener,有个session的参数..可以拿来对接收到的信息再做响应..
⑶MessageListenerAdapter,将消息委托交给一个普通的java类来处理..
转化器阶段 :
实现MessageConverter接口来转换JMS对象与java对象..
其实在使用MessageListenerAdapter时,Spring默认为我们提供了SimpleMessageConverter转换器..
事务(无代码):
在Spring整合JMS的应用中,如果我们要进行本地的事务管理的话非常简单,只需要在定义对应的消息监听容器时指定其sessionTransacted属性为true,如:
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="queueDestination" />
<property name="messageListener" ref="consumerMessageListener" />
<property name="sessionTransacted" value="true"/>
</bean>
该属性值默认为false,这样JMS在进行消息监听的时候就会进行事务控制,当在接收消息时监听器执行失败时JMS就会对接收到的消息进行回滚,
对于SessionAwareMessageListener在接收到消息后发送一个返回消息时也处于同一事务下,但是对于其他操作如数据库访问等将不属于该事务控制。
数据库跟JMS挂钩的事务先别理..
2015-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人