发表于: 2019-11-01 20:15:54
1 3599
一、今天完成的事
总结学习springboot的知识点:
创建springboot项目
file -> New -> Project -> Spring Initializr 然后点 Next
(Defalut创建需要联网,会出现以下错误
.png)
.png)
.png)
.png)
springboot注解
1.@SpringBootApplication
@SpringBootApplication注解是一个快捷的配置注解,在被它标注的类中,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。此注解相当于@Configuration、@EnableAutoConfiguration和@ComponentScan的组合。在Spring Boot应用程序的主类中,就使用了此注解。 表示这个是一个Springboot 应用
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
2.@EnableAutoConfiguration
@EnableAutoConfiguration注解用于通知Spring,根据当前类路径下引入的依赖包,自动配置与这些依赖包相关的配置项。
3.@ConditionalOnClass与@ConditionalOnMissingClass
这两个注解属于类条件注解,它们根据是否存在某个类作为判断依据来决定是否要执行某些配置。
@Configuration
@ConditionalOnClass(DataSource.class)
class MySQLAutoConfiguration {
//...
}
4.@ConditionalOnBean与@ConditionalOnMissingBean
这两个注解属于对象条件注解,根据是否存在某个对象作为依据来决定是否要执行某些配置方法。
@Bean
@ConditionalOnBean(name="dataSource")
LocalContainerEntityManagerFactoryBean entityManagerFactory(){
//...
}
@Bean
@ConditionalOnMissingBean
public MyBean myBean(){
//...
}
5.@ConditionalOnProperty
@ConditionalOnProperty注解会根据Spring配置文件中的配置项是否满足配置要求,从而决定是否要执行被其标注的方法。
@Bean
@ConditionalOnProperty(name="alipay",havingValue="on")
Alipay alipay(){
return new Alipay();
}
6.@ConditionalOnResource
此注解用于检测当某个配置文件存在时,则触发被其标注的方法
@ConditionalOnResource(resources = "classpath:website.properties")
Properties addWebsiteProperties(){
//...
}
7.@ConditionalOnWebApplication与@ConditionalOnNotWebApplication
这两个注解用于判断当前的应用程序是否是Web应用程序。如果当前应用是Web应用程序,则使用Spring WebApplicationContext,并定义其会话的生命周期。
@ConditionalOnWebApplication
HealthCheckController healthCheckController(){
//...
}
8.@ConditionalExpression
此注解可以让我们控制更细粒度的基于表达式的配置条件限制。当表达式满足某个条件或者表达式为真的时候,将会执行被此注解标注的方法。
@Bean
@ConditionalException("${localstore} && ${local == 'true'}")
LocalFileStore store(){
//...
}
9.@Conditional
@Conditional注解可以控制更为复杂的配置条件。在Spring内置的条件控制注解不满足应用需求的时候,可以使用此注解定义自定义的控制条件,以达到自定义的要求。
@Conditioanl(CustomConditioanl.class)
CustomProperties addCustomProperties(){
//...
}
springboot都可以没有配置文件就能跑一个web程序,也不用配置servlet容器
启动刚才的项目
.png)
相比之前的mvc简化了不少东西。
springboot连接数据库(我用的dbcp连接池)
在application.properties中增加参数
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.name=root
spring.datasource.password=admin123
spring.datasource.dbcp2.max-conn-lifetime-millis=20
spring.datasource.dbcp2.min-idle=5
spring.datasource.dbcp2.max-wait-millis=180
springboot-mybatis
也是在application中配置mybatis
mybatis.mapper-locations=classpath:mapper/.xml
mybatis.type-aliases-package=com.ksy.model.Student
然后要在application.java中加入MapperScan注解
@MapperScan
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
二、遇到的问题
三、收获
学习了一些基础知识,学习了代码规范文档,看了springboot简单demo
四、明天的计划
把之前的代码迁徙到springboot中,用springboot实现,查看复盘要求准备东西
评论