以下这个类的注解@Component这个注解的翻译是组件的意思,对于这个注解自己的理解是将这个类交给spring托管起来,这个注解相当于将它的构造方法公用化,这个注解是配合 @Autowired一起使用 这个注解相当于将new 了一个对象,并将这个对象全局化
@Autowired
private MyTool myTool;//相当于new MyTool全局化 在任何一个方法的任何地方都可以调用
切记:如果写了有参数的构造方法-》@Component这个注解就没用了,而且会报错,它是用无参构造托管全局!
package cn.com.zzn.webapp1.until;
import org.springframework.stereotype.Component;
@Component //组件
public class MyTool {
public void show(){
System.out.println("你好");
}
public MyTool(){
System.out.println("MyTools正在构造");
}
}
@SpringBootTest
class MyToolTest {
//
//注入
@Autowired
private MyTool myTool;//相当于new MyTool全局化 在任何一个方法的任何地方都可以调用
@Test
void show() {
myTool.show();
}
}
注解
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
注解带了ConditionalOn这个前缀就代表了失效的意思,这个注解的意思就是
只要有了WebMvcConfigurationSupport.class这个类,那么这个组件下的所
有类所有写的东西全部失效!如果没有 (WebMvcConfigurationSupport.class)这个类就生效
@EnableWebMvc //这个注解就是导入了一个类: -->DelegatingWebMvcConfiguration: 从容器中获取所有的webmvc
@EnableWebMvc 加了这个注解那么就会触发@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
就会让这个类失效崩盘
反正视图解析器这一块儿 只要加了@EnableWebMvc自动配置全部失效
注意重点理解!!!!!