springBoot
自动装配原理
springboot所有自动配置都是在启动的时候扫描并加载:spring.factories所有的自动配置类都在这里面,但不一定生效要判断是否成立,只要导入对应的start,就有对应的启动器,有了启动器,自动装配就会生效。
1.springboot在启动时,从类路径下/META-INF/spring.factories获取指定的指。
2.将这些自动配置的类导入容器,自动配置生效。
3.ssm中我们需要配置的东西springboot帮我们配置了。
4.整合javaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure包下
5.它会把所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器。
6.容器中也会存在非常多的xxxAutoConfiguration的文件(@Bean),就是这些类给容器中导入了这个场景需要的所有组件;并自动配置,@Configuration,javaConfig。
7.有了自动配置免去了我们手动编写配置文件工作。
springBoot配置文件
springboot使用一个全局配置文件,配置文件名称是固定的
1.application.properties
语法:key=value
2.application.yml
语法 key: 空格 value
配置文件的作用就是修改SpringBoot自动配置的默认值,因为springBoot在底层都给我们自动配置好了;
server:
port: 8081
#对象
student:
name: a
age: 1
#行内写法
student2: {name: a,age: 3}
#数组
student3: [name,age]
yaml可以直接给实体类赋值
person:
name: 张三
age: 3
happy: false
birth: 2020/01/01
map: {k1: v1,k2: v2}
list: [code,music,girl]
student:
name: 李四
age: 1
/**
* @author Administrator
*/
@Data
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private Integer age;
private Boolean happy;
private Date birth;
private Map<String, Object> map;
private List<Object> list;
private Student student;
}
spring Security
重要类
WebSecurityConfigurerAdapter:自定义Security策略-
AuthenticationManagerBuilder:自定义认证策略
@EnableWebSecurity:开启WebSecurity模式