java从精通到入门

男娘i 2024-02-20 10:56 228阅读 0赞

一、前言

在平时的学习中我们只会看到java从入门到精通,从来没有见过java从精通到入门。根据博主多年的学习经验,其实java从入门到精通,还是java从入门到放弃,还是java从精通到放弃都是一个错误的学习路径。博主就是在这条路上走了无数的弯路,以致一直都无法进步。从客观现实来讲,java从精通到入门才是正确的学习之道。比如我们对现实世界的认知也是如此,在物理世界里,构成物质的都是基本粒子,比如分子,原子,电子,中子,甚至更小的粒子。但是我们认识世界并不是从这些粒子开始认识,而是先认识了物体,比如动物,植物,建筑物,生活用品等等。等到我们都认识了这些事物,才会慢慢去了解这些事物组成的元素。这是复合人们的认知的。记得博主在上大学的学习软件工程,就整天学习各种数学,离散数学,数据结构,算法这些东西,但是导致的结果是我等到毕业的时候,几乎还不会写程序。这就比如,你从小教一个婴儿什么是分子,什么是原子,这些分子,原子它会构建成一张桌子,但是当你把一张桌子摆在他面前时,我断言他肯定不知道他是何物。在平时的工作实践中,无数的证明,我们学习技术都是从宏观到微观。而不是从微观到宏观学习的更快。

二、易上手的JAVA开发框架

即使不太懂得的java的基础知识,我们根据java的开发框架,就能简单的开发javaweb程序和项目,比如我们最经典的一般的java接口请求流程:controller, service,dao

1、controller

  1. @ApiOperation(value = "分页查询日志信息列表", notes = "分页查询日志信息列表")
  2. @PostMapping("pageList")
  3. public ResponseData<PageUtils> queryPage(@RequestBody Map<String, Object> param) {
  4. PageUtils pageUtils = tOptLogService.queryPage(param);
  5. return ResponseData.success(pageUtils);
  6. }

2、service

  1. @Service
  2. @Transactional(rollbackFor = Exception.class)
  3. public class TOptLogService extends ServiceImpl<TOptLogMapper, TOptLog>{
  4. @Autowired
  5. private TOptLogMapper tOptLogMapper;
  6. /**
  7. * 分页查询权限信息
  8. * @param param
  9. * @return
  10. */
  11. public PageUtils queryPage(Map<String, Object> param) {
  12. IPage<TOptLog> page = new Query<TOptLog>().getPage(param);
  13. QueryWrapper<TOptLog> tOptLogQW = new QueryWrapper<TOptLog>();
  14. if (param.containsKey("userId")) {
  15. tOptLogQW.like("user_id", param.get("userId").toString());
  16. }
  17. if (param.containsKey("userName")) {
  18. tOptLogQW.like("user_name", param.get("userName").toString());
  19. }
  20. tOptLogQW.orderByDesc("create_time");
  21. IPage<TOptLog> tOptLogIPage = tOptLogMapper.selectPage(page, tOptLogQW);
  22. return new PageUtils(tOptLogIPage);
  23. }
  24. }

dao层

  1. /**
  2. * 根据 entity 条件,查询全部记录(并翻页)
  3. *
  4. * @param page 分页查询条件(可以为 RowBounds.DEFAULT)
  5. * @param queryWrapper 实体对象封装操作类(可以为 null)
  6. */
  7. <P extends IPage<T>> P selectPage(P page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

三、研究底层框架

spring框架在javaweb中最重要的两个功能,一个是IOC一个AOP

1、IOC :控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。

Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。

15c675950e53490f9c7bf9a9bde66e03.png

2.AOP:

AOP的全称是Aspect Orient Programming,即面向切面编程,扩展功能不通过修改源代码实现。

实现方式:动态代理(必须有接口) 通过java.lang.reflect.Proxy类实现。 动态代理就是为了解决静态代理不灵活的缺陷而产生的。静态代理是固定的,一旦确定了代码,如果委托类新增一个方法,而这个方法又需要增强,那么就必须在代理类里重写一个带增强的方法。而动态代理可以灵活替换代理方法,动态就是体现在这里。同时,静态代理每个方法都需要单独写一个代理类,而动态代理一个接口只实现一个动态代理类即可。

发表评论

表情:
评论列表 (有 0 条评论,228人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java精通入门

    一、前言 在平时的学习中我们只会看到java从入门到精通,从来没有见过java从精通到入门。根据博主多年的学习经验,其实java从入门到精通,还是java从入门到放弃,还

    相关 CUDA入门精通

    [CUDA从入门到精通(零):写在前面][CUDA] 在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理