SpringBoot优化定制Tomcat容器
相关类> ServerProperties.class
- 设置端口
application.properties 增加配置 server.port= 8888 - 设置ip
application.properties 增加配置 server.address=127.0.0.2 - 设置日志
容器定制
- 方法 一:
实现EmbeddedServletContainerCustomizer接口,纳入到spring容器管理
关键类:
EmbedServletContianerCustomizer
=> 重写 customize()方法
- 方法 一:
- 方法二:
在spring容器中装配一个EmbeddedServletContainerCustomizer对象
与上边方法的是设置大致相同
Spring Boot JDBC
- 导入包 jdbc + MySQL 驱动
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<scope>test</scope>
</dependency>
- 设置dataSource
参考DataSourceProperties.class 设置 ddriverClassName, url,username,password.
在配置文件中设置
- 测试
使用JDBCTemplate
完成上面的设置后书写 DAO 层
@Repository
- 设置数据源类型
配置文件中 增加 spring.datasource.type = com.package
默认指定tomcate的数据源。
关键类: DataSourceAutoConfiguration.class
默认支持四种数据源
- 使用自定义数据源
-
添加 maven 依赖
-
实现数据源的连接配置类
-
SpringBoot jdbc 事务
- 启用事务
在程序的入口处添加 @EnableTransactionManagement - 使用事务
在需要用事务的方法上加入
@Transactional
设置回滚的触发条件 :
@Transactional(rollbackFor=Exception.class)
@Transactional(noRollbackFor=Exception.class)
使用事务要注意: 1. 使用事务的方法必须要为public ,private不生效。
2. 直接使用的方法必须添加事务注解,调用失效
Spring Boot AOP
- AOP 介绍:
AOP:Aspect Oriented Programming,意为面向切面编程。
这是一个新的概念,我们知道Java是面向对象编程(OOP):指将所有的一切都看做对象,通过对象与对象之间相互作用来解决问题的一种编程思想。
AOP是对OOP的一个补充,在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。将不同方法的同一位置抽象成一个切面对象,对该切面对象进行编程就是AOP。
====== AOP的优点:
1.降低模块之间的耦合度。
2.使系统容易扩展。
3.更好的代码复用。
4.非业务代码更加集中,不分散,便于统一管理。
5.业务代码更简洁纯粹,没有其他代码的影响
Spring Boot 使用AOP
- 引入 dependcy,aop支持
- 声明切面 ,配置通知
@Aspect