Springboot的入口是SpringbootApplication,该类加了一个注解@SpringbootApplication,它是一个组合注解,其实内部是:
- @SpringBootConfiguration
跟@Configuration一样,用于定义配置类,会将其内部有一个或多个@Bean标注的方法实例加入到Spring容器中。
- @ComponentScan
指定扫描的路径,把符合扫描规则的类加载到Spring容器中。
- @EnableAutoConfiguration
该注解下有一个@import注解,该注解引入了自动配置选择器,该选择器会自动导入meta-INF/spring.factories 里定义的自动配置类。
2、SpringBoot核心注解是哪几个?@Bean和@Component的区别,前者作用在方法上,一般配合@Configuration一起使用,更加灵活;后者只能作用在类上。
@Configuration
表明该类是一个配置类,一般跟@Bean一起使用,相当于Spring里的一个xml配置文件。此外除了@Bean之外,要想给容器中注册组件还有@Component @Controller @Service @Repository
@import({类名 .class, 类名.class})
给容器中导入组件
@Conditional
条件注解,当满足某些条件才会导入组件,其下有很多派生类
@importResource("classpath:XXXBean.xml")
直接把xml资源导入
@ConfigurationProperties(prefix = "mycar")
用于配置绑定,要使用该功能首先得在.properties文件中写好配置,然后再通过@Component把要绑定的java类加入到容器中。
3、SpringBoot如何解决跨域问题?1)通过在类或者方法上加注解@CrossOrigin,前者是类下所有方法都可实现跨域,后者是之针对方法;
2)实现WebMvcConfigurer接口中的addCorsMappings()方法来实现
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("
@Scheduled(cron = "0/3 * * * * 0-7")
public void helloScheduled(){
System.out.println("定时调度");
}
}
8、Springboot如何打包部署?
首先引入maven-plugin
org.springframework.boot
spring-boot-maven-plugin
然后IDEA点击右边的package就可以打包了
然后再控制台直接运行jar包就好了
java -jar XXX.jar9、请解释一下什么事IOC,并简易的描述一下Spring原理 10、简单说一下Shiro怎么使用



