1.
定义请求时,加上@JsonIgnoreProperties(ignoreUnknown = true)
可以解决 Unrecognized field问题
2.
myabtis批量更新,需要在jdbc连接串中添加 allowMultiQueries=true
3.
注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
作用是将数据库中的数据读出来,以给定的格式显示在前端页面上.
注解@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") ,
作用是将从页面中获取的String类型的时间数据填充到Javabean的Date类型属性中,如果不使用该注解,运行时会报错.
上述两种注解均使用在Javabean的Date类型属性上。
从前端获取到的所有数据都是String类型的,如果使用Javabean接收获取到的时间值有两种方式:
1).接收时间格式的数据的属性类型为String类型(mysql中支持字符串格式的时间比较)
2).接收时间格式的数据的属性类型为Date类型,此时需要在该给属性上@DateTimeFormat,否则程序出错。
4.
shiro的使用
shiro本身为jar组件,Spring-shiro-Boot为微服务化的版本。
模型:
User、UserRole、Role、RolePermission、Permission
注解式开发:
@RequiresUser
@RequiresRoles(value = {"admin","user"},logical = Logical.AND):表示当前Subject需要角色admin和user
@RequiresPermissions(value = {"user:delete","user:b"},logical = Logical.OR):表示当前Subject需要权限user:delete或者user:b
需要建议以下bean
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor">
<property name="proxyTargetClass" value="true"></property>
</bean>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager"/>
</bean>
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="org.apache.shiro.authz.UnauthorizedException">
unauthorized
</prop>
</props>
</property>
<property name="defaultErrorView" value="unauthorized"/>
</bean>
代码开发:
//shiro 获取登录的用户信息 TUser user = (TUser)SecurityUtils.getSubject().getPrincipal();
5.
Windows下可以用Lunacy打开sketch文件
6.
idea书签
可以使用ctrl+左键点行号、或者ctrl+f11添加,使用shift+f11查看
7.
idea在单个窗口导入多个maven工程
右键pom.xml添加
8.
session是在服务器保存状态。
token无状态
9.
kafka消费
sh kafka-console-consumer.sh --bootstrap-server 168.1.1.1:9092 --topic TOPIC-EVENT --property print.key=true --property print.timestamp=true --from-beginning --max-messages 5000 --group test > /app/019753/event.log.8