springboot学习

springboot 扫描规则

一 如果项目所有类都在application启动类所在目录下或 其子目录下,则可以不用配置@ComponentScan,springboot会自动扫描application启动类所在目录下及其子目录下的注解

二 如果配置了@ComponentScn中的basepackages,那么就要把所有需要扫描的包都配置.这种情况下,@ComponentScan是不会再去扫描当前类所在的包的

 

@PropertySource

所有的配置都是写在appliaction.propertiesapplication.yml文件里,那么如果不想写在这里面怎么处理呢使用@PropertySource可以解决;

 

只要使用在能扫描到的地方就可以使用该注解;

 

从源码可以看出,这个方法是一行一行地读取,然后根据冒号、等于号、空格等进行校验,经过一系列遍历之后获取key和value,而yaml语法是以缩进来辨别的,经过自己调试,这个方法也是不支持yaml文件的读取的

@ImportResource

springboot没有使用以前的springxml的配置方法,如果还是要使用spring里面的xml的配置方式怎么办理,使用@ImportResource注解。

 

该注解只要使用在能扫描到的地方就可以生效

@Bean

@Bean 声明在带参数的方法时,自动在形参前加入@Autowired,形参对象在ioc中存在多个时须在形参手动加入@Qualifiter("beanid")

----------------------------------------------------

 

 


springboot集成jsp注意事项:

①需要在pom.xm文件中添加

<!--用于编译jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<scope>provided</scope> 注意,这个scope需要被注释掉-->
</dependency>

②编译不进classes,需要在pom文件中添加该项,制定导入MATA-INF的resources下

<build>
    <resources>
<resource>
<directory>src/main/webapps</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>

 

posted @ 2020-08-12 14:29  k-java  阅读(99)  评论(0编辑  收藏  举报