eval函数将字符串当成有效Python表达式来求值,并返回计算结果<br>x = 1<br>eval('x+1')<br>eval('x==1')与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示<br>repr(x==1)<br>repr(x+1)
我们开发任何一个Spring Boot项目,都会用到如下的启动类<br>从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最为耀眼,所以要揭开SpringBoot的神秘面纱,我们要从这两位开始就可以了。<br>SpringBootApplication背后的秘密<br>虽然定义使用了多个Annotation进行了原信息标注,但实际上重要的只有三个Annotation:<br>@Configuration(@SpringBootConfiguration点开查看发现里面还是应用了@Configuration)@EnableAutoConfiguration@ComponentScan<br>所以,如果我们使用如下的SpringBoot启动类,整个SpringBoot应用依然可以与之前的启动类功能对等:<br>每次写这3个比较累,所以写一个@SpringBootApplication方便点。<br>注:对Spring Boot而言,@SpringBootApplication的作用就是@Configuration, @EnableAutoConfiguration与@ComponentScan的集合,所以也会存在@EnableAutoConfiguration的粒度管理问题。<br>1、@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。<br>说明:用于bean加载spring容器<br>2、@EnableAutoConfiguration的作用启动自动的配置,@EnableAutoConfiguration注解的意思就是Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置。在下面博客会具体分析这个注解。<br>说明:用于配置添加jar包默认配置项<br>3、@ComponentScan,扫描当前包及其子包下被@Component,