怎样去理解@ComponentScan注解
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
怎么样去理解它呢?
1.配置视图控制器
- package com.apress.prospringmvc.bookstore.web.config;
- import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
- @Configuration
- @EnableWebMvc
- @ComponentScan(basePackages = { "com.apress.prospringmvc.bookstore.web" })
- public class WebMvcContextConfiguration extends WebMvcConfigurerAdapter {
- @Override
- public void addViewControllers(final ViewControllerRegistry registry) {
- registry.addViewController("/index.htm").setViewName("index");
- }
- }
2.基于注解的Controller
- package com.apress.prospringmvc.bookstore.web;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- public class IndexController {
- @RequestMapping(value = "/index.htm")
- public ModelAndView indexPage() {
- return new ModelAndView(“index");
- }
- }
那么对于配置的视图控制器加了
@Configuration 和@ComponentScan注解背后会做什么呢?
其实很简单,@ComponentScan告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。
例如,如果你有个类用@Controller注解标识了,那么,如果不加上@ComponentScan,自动扫描该controller,那么该Controller就不会被spring扫描到,更不会装入spring容器中,因此你配置的这个Controller也没有意义。
类上的注解@Configuration 是最新的用注解配置spring,也就是说这是个配置文件,和原来xml配置是等效的,只不过现在用java代码进行配置了 加上一个@Configuration注解就行了,是不是很方便,不需要那么繁琐的xml配置了,这样基于注解的配置,可读性也大大增高了。
见:http://blog.csdn.net/u013078669/article/details/52664779
怎样去理解@ComponentScan注解相关推荐
- java 注解_怎样理解 Java 注解和运用注解编程?
怎样理解 Java 注解和运用注解编程? 注解和使用 先来看下概念首先从注释来看: 注释:给代码添加说明和解释,注释帮助开发人员理解程序.(Comment)说白点就是注释是给人看的. 注解:给代码添加 ...
- java注释的理解,java注解原理——记录一下自己的理解
最近因为系统可能要更换成java语言,于是每天都在拼命的研究java的相关知识和框架.之前学习注解的时候,没有太深入的去理解它,只是觉得标注一下挺好用,但是现在在学到spring aop的时候,突然发 ...
- Spring框架----Confinguration和Component-Scan注解
如何不用xml配置文件 这里面有两块内容,第一块是component-scan.第二块是对象的创建,我们之前的注解都是解决了我们自己写的类加一个注解. 我们建了一个SpringConfiguratio ...
- 深圳java培训:怎样理解 Java 注解和运用注解编程?
深圳java培训:怎样理解 Java 注解和运用注解编程? 注解和使用 先来看下概念首先从注释来看: 注释:给代码添加说明和解释,注释帮助开发人员理解程序.(Comment)说白点就是注释是给人看的. ...
- java 异步调用 事务_深入理解Spring注解@Async解决异步调用问题
序言:Spring中@Async 根据Spring的文档说明,默认采用的是单线程的模式的.所以在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的. 那么当多个任务的执行势必会相互影响. ...
- 理解java注解的实现原理
JAVA 注解的基本原理(重点) https://www.cnblogs.com/yangming1996/p/9295168.html 从以下4个方面来系统的学习一下java注解 什么是注解 注解的 ...
- 如何用数学函数去理解机器学习?
本文主要分享了如何基于数学函数原理去理解机器学习的本质,并简要介绍了机器学习的过程. 近期也是在做项目的过程中发现,其实AI产品经理不需要深入研究每一种算法,能了解机器学习的过程,这其中用到哪些常用算 ...
- 从需求的角度去理解Linux系列:总线、设备和驱动
<从需求的角度去理解Linux系列:总线.设备和驱动>是一篇有关如何学习嵌入式Linux系统的方法论文章,也是从需求的角度去理解Linux系统软件的开篇.这是作者精心撰写的经验总结,希望嵌 ...
- 抛开 Spring 去理解 IOC 思想:原来 IOC 容器这么简单
很多小伙伴们看到标题可能就会想到抛开 Spring 就不会存在 IOC 思想了,其实不然在接下来的文章中就会讲述到. 很多小伙伴在理解 IOC 的时候通常会和 Spring 放到一起去学习,首先呢 S ...
最新文章
- c#算两个火星坐标的距离(高德or百度)
- 设计模式复习-模板方法模式
- java自动化初始变量_Java自动化测试-01.环境准备(JDK/环境变量/Intellij IDEA安装)
- linux 模块化编译,手把手教Linux驱动1-模块化编程 module
- android黑窗口获取md5_Android获取文件的MD5
- Git 系列(二):初步了解 Git
- 【Linux】一步一步学Linux——mv命令(30)
- ubuntu shell脚本出错 dash
- 【干货】普华永道:新形势下,企业如何进行数字化转型.pdf(附下载链接)
- centos 添加windows字体库
- 广州博森科技有限公司外汇自动交易软件,免费下载试用
- 进程间通信之CreatePipe
- 树莓派默认密码_树莓派快速指南,从购买到开机
- k8s service nodeport
- R 回归 虚拟变量na_互助问答第30期:工具变量、GARCH模型操作和多项选择效信度...
- 操作系统实验:系统内存使用统计
- 狄利克雷卷积_狄利克雷卷积学习笔记
- 如何解决Selenium打不开Ie浏览器
- 混淆矩阵与miou代码
- 如何快速备份linux文件夹?【高效】
热门文章
- eclipse java maven_java – 非常轻量级的Eclipse-Maven集成 – 仅...
- Hexo 博客本地预览报错:Error: listen EADDRINUSE 0.0.0.0:4000
- view [bootstrap-4] not found如何解决_Dubbo如何处理业务异常,这个一定要知道哦
- 【POJ - 2373】Dividing the Path(单调队列优化dp)
- 【HRBUST - 1613】迷宫问题 (bfs)
- 【HDU - 1465 】不容易系列之一 (组合数学,错排)
- 详解车道线检测数据集和模型 VIL-100: A New Dataset and A Baseline Model for Video Instance Lane Detection
- Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control
- 动手学无人驾驶(4):基于激光雷达点云数据3D目标检测
- 使用tcpdump,adb进行手机抓包