- SpringBoot2(一)
- 三、JDBC使用
- 四、Druid连接池
- 五、Mybatis
- 六、SpringSecurity(安全)
- 七、Swagger
- 6.1、导入配置swagger2与swagger-ui
- 6.2、简单配置
- 6.3、测试运行
- 6.4、Swangger配置扫描接口
- 6.5、小结
- 八、任务
- 7.1、异步
- 7.2、邮件
- 7.3、定时执行
- 九、Redis
- 十、分布式 Dubbo + Zookeeper+ SpringBoot
一、SpringBoot2 基础
二、SpringBoot Web开发
点此跳转
org.springframework.boot spring-boot-starter-jdbcmysql mysql-connector-javaruntime
spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver四、Druid连接池
com.alibaba druid1.1.21
spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSourcel #Spring Boot默认是不注入这些属性值的,需要自己绑定 #druid数据源专有配置 initialsize: 5 minIdle: 5 maxActive: 20maxWait: 60000 timeBetweenEvictionRunsMi11is: 60000 minEvictableIdleTimeMillis: 30000 validationQuery: SELECt 1 FROM DUAL testWhileIdle: true testOnBorrow: false test0nReturn: false poolPreparedStatements: true #配置监控统计拦截的filters, stat:监控统计、Log4j:日志记录、wall:防御sqL注入#如果允许时报错 java.Lang.CLassNotFoundException: org.apache.Log4j.Priority #则导入Log4j依赖即可,Maven地址: https ://mvnrepository.com/artifact/Log4j/Log4jfilters: stat,wall,log4j maxPoo1PreparedstatementPerConnectionsize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSq1Millis=500五、Mybatis
六、SpringSecurity(安全)org.mybatis.spring.boot mybatis-spring-boot-starter2.1.1
记住几个类:
- WebSecurityConfigurerAdapter:自定义Security策略
- AuthenticationManagerBuilder:自定义认证策略
- @EnableWebSecurity:开启WebSecurity模式
org.springframework.boot spring-boot-starter-security
@EnablewebSecurity public class securityconfig extends websecurityconfigurerAdapter { @override protected void configure(Httpsecurity http) throws Exception { //首页所有人可以访问,功能页只有对应有权限的人才能访问 http.authorizeRequests() .antMatchers( "/").permitAl1() .antMatchers("/1evel1/**").hasRole("vip1") .antMatchers("/leve12/**").hasRole("vip2") .antMatchers("/1eve13/**").hasRole("vip3"); //没有权限默认会到登录页面 http.formLogin(); //注销.开启了注销功能,跳到首页 http. logout().logoutsuccessUrl("/"); //防止网站工具:get.post http.csrf().disable();//关闭csrf功能 //开启记住我功能,默认保存14天 http.rememberMe(); } }七、Swagger 6.1、导入配置swagger2与swagger-ui
6.2、简单配置io.springfox springfox-swagger22.9.2 io.springfox springfox-swagger-ui2.9.2
@configuration @Enableswagger2 //开启Swagger2 public class SwaggerConfig { }6.3、测试运行
http://localhost:8080/swagger-ui.html
6.4、Swangger配置扫描接口//配置Swagger的Docket的bean实例 //enable是否启动Swagger,如果为False,则Swagger不能再浏览器中访问 @Bean public Docket docket(){ return new Docket(documentationType.SwAGGER_2) .enable(true) .select() // RequestHandlerselectors,配置要扫描接口的方式 // basePackage:指定要扫描的包 // any( ):扫描全部 //none():不扫描 //withclassAnnotation:扫描类上的注解,参数是一个注解的反射对象 // withMethodAnnotation:扫描方法上的注解 .apis(RequestHandlerselectors.basePackage("com.YoRHa.swagger.controller")) //paths()。过滤什么路径 .paths(PathSelectors.ant( antPattern:"/select/**"))//(只扫描select下的接口) .build(); }
配置API文档的分组
@Bean public Docket docket(){ return new Docket(documentationType.SwAGGER_2) .groupName ("hello") }
如何配置多个分组;多个Docket实例即可,扫描不同的包
6.5、小结只要我们的接口中,返回值中存在实体类,他就会被扫描到Swagger中
八、任务 7.1、异步@Async //告诉Spring这是一个异步的方法
主程序也要开启异步功能
@EbableAsync //开启异步注解功能7.2、邮件
org.springframework.boot spring-boot-starter-mail
spring.mail.username=66666qq.com spring.mail.password=goxwydfndkssbhjg spring.mai1.host=smtp.qq.com #开启加密验证(qq特有) spring.mail.properties.mail.smtp.ssl.enable=true
@SpringBootTest class Springboot09TestApplicationTests { @Autowired JavaMailsenderImpl mailsender; @Test void contextLoads() { simpleMailMessage mailMessage = new simpleMailMessage(); mailMessage.setsubject("你好"); mailMessage.setText("谢谢你"); mai1Message.setTo("123@qq.com"2; mailMessage.setFrom( "321@qq.com" ) ; mailsender.send( mailMessage); } }7.3、定时执行
@EnableScheduling //开启定时功能的注解 @Scheduled //什么时候执行
Taskscheduler任务调度者
TaskExecutor任务执行者
@Service public class scheduledService { //在一个特定的时问执行这个方法 //cron表达式 //秒 分 时 日 月 星期 @Scheduled(cron = "****0-7") public void hello(){ system.out.println( "hello执行了"); } }九、Redis
org.springframework.boot spring-boot-starter-data-redis
spring.redis.host=127.0.0.1 spring.redis.port=6379十、分布式 Dubbo + Zookeeper+ SpringBoot
RPC两个核心模块:通讯,序列化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)