springboot

在这里插入图片描述

SpringBoot

自动装配

pom.xml
●spring-boot-dependencies: 核心依赖在父工程中
●我们在写或者引入一些SpringBoot以来的时候,不需要指定版本,就因为有这些版本仓库

启动器

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

●启动器:说白了就是SpringBoot的启动场景:
●比如spring-boot-satart-web,他就会帮我们自动导入web环境所有的依赖!
●SpringBoot会将所有的功能场景,都变成一个个的启动器
●我们要使用什么功能,就只需要找到对应的启动器就可以了。

主程序

//@SpringBootApplication    :   标注这个类是一个SpringBoot的应用
@SpringBootApplication
public class SpringbootNewstudy1Application {
    //将SpringBoot应用启动
    public static void main(String[] args) {
        SpringApplication.run(SpringbootNewstudy1Application.class, args);
    }

}

注解:

@SpringBootConfiguration	:	SpringBoot的配置
	@Configuration:	spring的配置类
	@Component:		说明这也是一个spring的组件


@EnableAutoConfiguration	:	自动配置
	@AutoConfigurationPackage	:	自动配置包
		@Import({Registrar.class})	:	导入选择器包	
	@Import({AutoConfigurationImportSelector.class})	:	自动导入选择 
	

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论:SpringBoot所以自动配置都是在启动的时候扫描并加载:spring.factories所有的自动配置类都在这里面,但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就配置成功!

1.SpringBoot在启动的时候,从类路径下/META-INF/spring.factories 获取指定的值;
2.将这些自动配置的类导入容器,自动配置就会生效,帮我进行自动配置
3.以前我们需要自动配置的东西,现在SpringBoot帮我们做了!
4.整合javaEE,解决方案和自动配置的东西都在spring-boot-2.4.5.jar这个包下
5.它会所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器;
6.容器中也会存在非常多的xxxAuroConfiguration的文件(@BEAN),就是这些类给容器中导入了这个场景需要的所有组件,并自动配置,@Configuration,javaConfig
7.有了自动配置类,免去了我们手动编写配置文件的工作
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

SpringBoot Web开发

jar:webapp!
自动装配
springboot到底帮我们配置了什么?我们能不能进行修改?能修改哪些东西?能不能扩展?
●xxxAutoConfiguration…想容器中自动配置组件
●xxxProperties: 自动配置类,装配配置文件中自定义的一些内容!

要解决的问题:
●导入静态资源…
●首页
●jsp,模板引擎Thymeleaf
●装配扩展SpringMVC
●增删改查
●拦截器
●国际化

SpringMVC自动配置
在进行测试前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档

地址 : https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-developing-web-applications.html
在这里插入图片描述

修改SpringBoot的默认配置

方式一 这么多的自动配置,原理都是一样的,通过这个WebMVC的自动配置原理分析,我们要学会一种学习方式,通过源码探究,得出结论;这个结论一定是属于自己的,而且一通百通。

SpringBoot的底层,大量用到了这些设计细节思想,所以,没事需要多阅读源码!得出结论;

SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(如果用户自己配置@bean)
,如果有就用用户配置的,如果没有就用自动配置的;如果有些组件可以存在多个,比如我们的视图解析器,就将用户配置的和自己默认的组合起来!
扩展使用SpringMVC
我们要做的就是编写-个@Configuration注解类, 并且类型要为WebMvcConfigurer,还不能标注@EnableWebMvc注解;我们去自己写一个;我们新建一个包叫config, 写一个类MyMvcConfig;

/**
 * @author mones
 * @crate 2021-03-12-15:24
 */
//应用类型要求为WebMvcConfigurer,所以我们实现其接口
//可以使用自定义类扩展MVC的功能    
//使用WebMvcConfigurer可以来扩展SpringMVC的功能
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //浏览器发送 /asxiaoxue 请求来到success
        registry.addViewController("/asxiaoxue").setViewName("success");
    }
}

> 1.首页配置:
> 		1.注意点,所有页面的静态资源都需要使用thymeleaf接管
> 		2.url:@{}
> 2.页面国际化:
> 	1.我们需要配置i8n文件
> 	2.我们如果需要在项目中进行按钮自动切换,我们需要自定义一个组件	LocaleResolver
> 	3.记得将自己写的组件配置到spring容器 @Bean
>  #{}
> 3.登录+拦截器
> 4.员工列表展示
> 	1.提取公共页面
> 		1.th:fragment="sidebar"
> 		2. th:replace="~{commons/common::topbar}"
> 		3.如果要传递参数,可以直接使用()传参,接收判断即可
> 	2.列表循环展示
> 5.添加员工
> 	1.按钮提交
> 	2.跳转到添加页面
> 	3.添加员工成功
> 	4.返回首页
> 
> 6.CRUD搞定	
> 7. 404


前端
   ●模板:别人写好的,我们拿来改成自己需要的
   ●框架:组件:自己手动组合拼接! Bootstrap,Layui,semantic-ui
     ⭕栅格系统
     ⭕导航栏
     ⭕侧边栏
     ⭕表单```
 
 #1.前端搞定: 页面长什么样子: 数据
 
 #2.设计数据库(数据库设计难点!)
 
 #3.前端让他能够自动运行,独立化工程
 
 #4.前端接口如何对接,json,对象all in one!
 
 #5.前后端联调测试!

1.有一套自己熟悉的后台模板:工作必要!X-admin,基于layui
2.前端界面:至少自己能够通过前端框架,组合出来一个网站页面
-index
-about
-blog
-post
-user
3.让这个网站能够独立运行!

一个月!

第二周:
●JDBC: 重点
●Mybatis: 重点
●Shiro:安全:重点
●Spring Security:安全:重点

●异步任务~;邮件发送,定时任务
●Swagger
●Dubbo +Zookeeper

Spring Security (安全)
在web开发中,安全第一位! 过滤器,拦截器~
功能性需求: 否
做网站: 安全应该在什么时候考虑?设计之初!
●漏洞,隐私泄露~
●架构一旦确定

shiro、SpringSecurity:很想-除了类不一样,名字不一样;
认证,授权(vip1,vip2,vip3)

	●  功能权限
	●  访问权限
	●  菜单权限
	●  ...拦截器,过滤器:大量的原生代码~ 冗余

MVC--SPRING-SPRINGBOOT--框架思想

Aop: 横切~ 配置类~

简介
Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理!
● WebSecurityConfigurerAdapter:自定义Security策略
● AuthenticationManagerBuilder: 自定义认证策略
● @EnableWebSecurity:开启WebSecurity模式 @Enablexxxx 开启某个功能
Spring Security的两个主要目标是“认证”和"授权”(访问控制) .
“认证”(Authentication)
“授权”(Authorization)
这个概念是通用的,而不是只在Spring Security中存在。

参考官网: htps://spring.io/projects/spring-security, 查看我们自己项目中的版本,找到对应的帮助文档:
https://docs.spring.io/spring-security/site/docs/5.2.0.RELEASE/reference/htmlsingle
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值