回顾 在前面的章节,我们介绍了@Comfiguration和@Bean结合AnnotationConfigApplicationContext零xml配置文件使用Spring容器的方式,也介绍了通过<context:component-scan base-package="org.example"/>扫描包路径下的bean的方式.如果忘了可以看下前面几篇.这篇我们来结合这2种方式来理解@ComponentScan 本文内容 @ComponentScan基本原理和使用 @Co…
官方文档:http://docs.autofac.org/en/latest/register/scanning.html Autofac 组件扫描 在程序集中Autofac 可以使用约定来找到并注册组件,你可以扫描并注册自定义类型或者为Autofac 模块专门进行扫描. 1.扫描类型 在其他方面,被称为约定驱动的注册或扫描,Autofac可以根据用户指定的规则从一个程序集中注册一组类型: var dataAccess = Assembly.GetExecutingAssembly(); bui…
Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描.主机服务扫描.路由扫描等. 之前已经写过常用的主机扫描和路由扫描工具,nmap支持批量主机扫描和主机服务扫描. nmap的安装直接使用:yum install nmap. nmap之ICMP扫描 nmap可以使用ICMP协议来实现Ping的功能,支持批量主机扫描,用来检测主机存活状态. 使用ICMP相比TCP协议不需要建立三次握手,所以速度更快,但某些防火墙或运营商屏蔽了ICMP就扫描不到. 常用命令: nmap -sP 192…
写在前面:本文作为整理,包含很多个人理解,有跳跃成份,初学者如果看晕了,可以先看其它同类文章,或者……多看几遍. 一.概念部分: 1.spring概念:网上有很多 2.spring核心:IOC(DI)和AOP 3.IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,只是负责使用 解释一下就是:原来你在A类里面使用B类,需要new B(),现在不用new了,new对象的过程交给外部容器(Spring容器,它把所有的对象都称作为Bean)实现控制权转…
最近对单点系统进行微服务拆分,被各个springboot的组件注册搞得云里雾里的.(有的是通过springboot的自动配置进IOC容器的,有的是自己添加构造方法添加进IOC容器.)决定抽时间将spring注解扫描组件注册重新复习一下,好久没写博客了,也该用笔记记录一下自己的学习过程,再不清晰的时候回来看一下加深印象. 一.@Configuration和@Bean给容器注册组件 现在我们有如下一个bean,想要将其注入到IOC容器中: package com.kun.bean; import o…
netcat又叫做瑞士军刀,是黑客和系统管理员常用的网络工具,最初开发的目的是文件传输,后来发展出很多强大的功能,比如也可以完成批量主机服务扫描. 之前介绍了另一个更常用的批量主机服务扫描工具:nmap. netcat的安装也非常简单,直接yum安装: yum install nc 一般不建议在生产环境安装nc,因为nc除了可以批量主机服务扫描外,还支持端口代理.文件传输,容易造成安全隐患. netcat之批量主机服务扫描 netcat在扫描时常用的参数: -w 设置超时时间 -z 输入输出模式…
目录 类路径扫描和注册组件 `@Component` 使用元注释和组合注释 自动检测类和注册 Bean 定义 使用过滤器自定义扫描 在组件中定义 Bean 元数据 命名自动检测到的组件 为自动检测的组件提供范围 类路径扫描和注册组件 本节描述了通过扫描类路径隐式检测候选组件的选项.候选组件是与过滤条件匹配的类,并在容器中注册了相应的 bean 定义.您可以使用注解(例如@Component).AspectJ 类型表达式或您自己的自定义过滤条件来选择哪些类具有向容器注册的 bean 定义. 从 S…
装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一种或者混合使用.但是我的个人建议还是尽可能的使用自动配置机制,毕竟显式的配置越少越方便.但如果必须要显示的配置 bean 的时候,推荐使用比 XML 类型安全更好的 JavaConfig 方式. 自动化装配 Bean Spring 通过如下两个方式来实现自动化装配: 组件扫描(component s…
博客地址:https://ainyi.com/105 批量注册路由的有个博客说到:https://ainyi.com/77 实际工作中,可能会遇到一个大页面里面有很多个模块,这些模块一般是需要拆分到单独的组件中,然后父组件再引入 我最近就遇到一个可以拆分成 10 个模块的大表单页面,拆分成局部组件后还是得一个个导入.声明,最后在 template 应用.作为一个程序员,我们怎么能写这么一大段重复的代码呢啊哈哈哈哈 所以就来搞搞局部组件批量注册和批量应用吧 如图,一个 Index.vue 文件中需…
基本上每个实体form上都会有单据编号,而且不同的实体编号要求还不太一样,这时就需要一个通用的单据编号插件,可配置以应对不同的需求. 下面简单介绍下实现步骤: 1. 创建二个实体,以保存各实体所要求的不同单据规则及当前流水号 2. 为不同的实体配置各自的单据规则 3. 编写及注册插件   一. 创建实体 1. 创建单据规则实体,用于保存各实体的单据规则:   2. 创建一流水号实体,用于记录当前流水号:   二.配置单据规则 1. 现在用它来配置如下主从表的单据编号:   左边为带日期及序号的主…