System-connectivity

Function & BiFunction

  1. Function
  • T is the accept type
  • R is the return type
  1. BiFunction
  • T,U is the accept type
  • R is the return type

@PostConstruct

注释方法
@PostConstruct该注解被用来修饰一个非静态的void()方法
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)

This

  • 引用成员变量 this.name=name
  • 调用类的构造方法: this("hello");
  • 返回对象的值:return this;
  • instance = this;:获得该类的实例。

单例模式Singleton

registry.gauge

gauge(meric,tags,meric,metricData::get):
meric和tags拼接,meric从后面的函数获得:mericdata.get

LOG

  • log.isTraceEnabled():方法作用是判断记录器Trace跟踪是否激活。Trace跟踪激活后一般会打印比较详细的信息。
  • log.trace:
    Log4j中将要输出的Log信息定义了5种级别:
    依次为DEBUG、INFO、WARN、ERROR和FATAL.
    并无trace级别,因此trace级别同debug级别
    Debug类提供一组帮助调试代码的方法和属性。Trace类提供一组帮助跟踪代码执行的方法和属性,通俗的说就是为在不打断程序的调试或跟踪下,用来记录程序执行的过程。
    Debug只在debug状态下会输出,Trace在Release下也会输出,在Release下Debug的内容会消失

ConcurrentHashMap

ConcurrentHashMap使用的是分段锁技术,将ConcurrentHashMap将锁一段一段的存储,然后给每一段数据配一把锁(segment),当一个线程占用一把锁(segment)访问其中一段数据的时候,其他段的数据也能被其它的线程访问,默认分配16个segment。默认比Hashtable效率提高16倍.

Stream

data.entrySet()
                   .stream()
                   .sorted(Map.Entry.comparingByKey())
                   .forEach(entry -> {log.trace("{}: {}", entry.getKey(), entry.getValue());});
  • entrySet:变成一个k-v的set集合
  • Map.Entry.comparingByKey()
  • foreach

computeIfPresent

Annotation

@Slf4j

  • 日志标准
private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class);
logger.debug("debug");
logger.info("info");
logger.error("error");

@Component

  • @controller: controller控制器层(注入服务)
  • @service : service服务层(注入dao)
  • @repository : dao持久层(实现dao访问)
  • @component: 标注一个类为Spring容器的Bean,(把普通pojo实例化到spring容器中,相当于配置文件中的

mvc:model-view-controller
model:存取数据的对象或java pojo
view:可视化
controller:控制器,控制数据流向模型对象

三层架构:数据访问层dao层
ssh:struts+spring+hibernate

controller: 用户输入-->controller
model:controller--> model--> view
model--->datebase
view: 显示给用户

MVC编程模式:

  • model表示应用程序核心
  • view 显示数据
  • controller:处理输入
struts
  • actionservlet
  • action
  • actionfrom
  • actionmapping
  • actionforward
Hibernate 特征

对象关系映射框架,对JDBC进行了轻量级的对象封装。自动生成SQL语句。

对象的调用流程:JSP—Action—Service—DAO—Hibernate—数据库。

DAO层

DAO层叫数据访问层,全称是data access object.一定是和数据库的某一个张表一一对应。封装了增删改查。只有原子操作。
@Resository持久层

Service层

服务层,粗略理解就是对一个或多个dao进行封装,封装为一个服务,需要事务控制。
@service

controler层

负责请求转发,接受页面过来的参数。传给service处理,接受返回值,再传给页面。
@controller层

总结

DAO面向表,Service面向业务。后端开发时先数据库设计出所有表,然后对每一张表设计出DAO层,然后根据具体的业务逻辑进一步封装DAO层成一个Service层,对外提供成一个服务。

你可能感兴趣的:(System-connectivity)