基础概念2
来源:互联网 发布:llmnr linux 编辑:程序博客网 时间:2024/06/05 15:02
swagger的用法 后面写到。
springmvc的使用(http协议的理解)http://blog.csdn.net/walkerjong/article/details/7946109/
@PathVariable 取Url中参数 /ab/{id}
@RequestBody 取数据中的json等通过流读取
@RequestHeader 消息头
try catch的使用 只对可能有异常的代码做捕获【建议有一个统一的全局捕获】
懒加载的解决【建议用lazy,把不需要的信息设置为空】
【fetch=FetchType.LAZY和EAGER的区分,eager会多发几条sql,lazy会在转json时候报错(session关闭时报错,不然也是多查)】
jpa的用法(hibernate的优化) 多对一,一对多等【通过以上懒加载建议,取关联数据时灵活使用left join fetch强制去取lazy对象】
如何加事物【在方法上加事务,①查询不需要事务②如果在查询方法中加上事务然后又有set值的情况,偶尔会自动update查询的实体】
如何实现异步【@async实现的一步调用,类本身调用是顺序执行的(具体使用参见文档)】
redis的使用【fingerprint:task:${id}:info 使用冒号格式做redis命名,在可视化工具中就是文件夹一层层的,方便归类和查看】
springmvc的使用(http协议的理解)http://blog.csdn.net/walkerjong/article/details/7946109/
@ModelAttribute 对象填充 get/post Form表单提交。
表现形式1、url后面?参数,填充
表现形式2.放在请求的消息体中,消息个事key=value&key=value,设置content-type-=application/x-www-form-urlencoded
@PathVariable 取Url中参数 /ab/{id}
@RequestBody 取数据中的json等通过流读取
@RequestHeader 消息头
try catch的使用 只对可能有异常的代码做捕获【建议有一个统一的全局捕获】
懒加载的解决【建议用lazy,把不需要的信息设置为空】
【fetch=FetchType.LAZY和EAGER的区分,eager会多发几条sql,lazy会在转json时候报错(session关闭时报错,不然也是多查)】
jpa的用法(hibernate的优化) 多对一,一对多等【通过以上懒加载建议,取关联数据时灵活使用left join fetch强制去取lazy对象】
如何加事物【在方法上加事务,①查询不需要事务②如果在查询方法中加上事务然后又有set值的情况,偶尔会自动update查询的实体】
如何实现异步【@async实现的一步调用,类本身调用是顺序执行的(具体使用参见文档)】
redis的使用【fingerprint:task:${id}:info 使用冒号格式做redis命名,在可视化工具中就是文件夹一层层的,方便归类和查看】
如何做共享式缓存(超时)【Spring中缓存artifactId为spring-boot-starter-cache,在CacheManager 添加一个 RedisCacheManager指定cahe缓存为redis】
@Beanpublic CacheManager cacheManager(StringRedisTemplate redisCacheTemplate) {return new RedisCacheManager(redisCacheTemplate);}使用swagger、springboot、负载均衡、发现服务、缓存
@EnableSwagger2@SpringBootApplication@EnableFeignClients@EnableDiscoveryClient@EnableCachingpublic class SystemApp { private static ConfigurableApplicationContext ctx; public static void main(String[] args) { ctx = SpringApplication.run(SystemApp.class, args); } }
缓存和数据库配合用法@Service@CacheConfig(cacheNames="system:apps")public class AppServiceImpl implements AppService {@Autowiredprivate JpaTemplate jpaTemplate;@Cacheable(key="'system:apps:' + #key")@Overridepublic SysApp getByKey(String key) {String sql = "from SysApp a where a.key = ?0";return jpaTemplate.findOne(sql, key);} @CacheEvict(key="'system:apps:' + #key") @Transactional @Override public void delete(Long id, String key) { SysApp temp = getById(id); if(temp != null) { jpaTemplate.delete(temp); } }
0 0
- 网格基础概念(2)
- 基础概念2
- 基础概念2
- 2-OSWorkflow基础概念2
- 03-VTK基础概念(2)
- OpenFlow基础概念理解(2)
- ZigBee之基础概念2
- 编解码基础概念2
- 03-VTK基础概念(2)
- 数据挖掘2基础概念
- 数据库基础学习----基础概念篇2
- 基础概念
- 基础概念
- 基础概念
- 基础概念
- 基础概念
- 基础概念
- 基础概念
- Maximum Subarray(最大子序列)
- win7 64位 python安装 matplotlib
- Android材料设计
- 阿里云服务器安装配置redis并且加入到开机启动
- Android开发者必知的5个开源库
- 基础概念2
- 操作系统(四)-------进程的基本概念
- Canal客户端的部署(代码无)
- http状态码304
- 电气厂家告诉您几种高压开关柜测温方法优缺点对比
- 发布自己的Angular2库初探
- mybatis中的$和#
- C++之对象数组+对象成员+拷贝构造函数(深/浅)
- Eclipse常用快键键