搭建织梦网站视频教程,深圳做男装什么网站容易找工,网站推广策划方案范文,推广培训班SpringBoot 的热部署#xff1a; Spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使用 SpringBoot 应用支持热部署#xff0c;提高开发者的效率#xff0c;无需手动重启 SpringBoot 应用引入依赖#xff1a; dependency groupIdorg.springfr… SpringBoot 的热部署 Spring 为开发者提供了一个名为 spring-boot-devtools 的模块来使用 SpringBoot 应用支持热部署提高开发者的效率无需手动重启 SpringBoot 应用引入依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-devtools/artifactId optionaltrue/optional
/dependency 修改 Java 代码或者配置文件模板后可以通过 Ctrl F9 来实现热部署 配置文件 SpringBoot 使用一个全局的配置文件配置文件名是固定的 application.propertiesapplication.yml 配置文件的作用修改 SpringBoot 自动装配的默认值SpringBoot 在底层都给自动配置好标记语言 以前的配置文件大多都是 xx.xml 文件YAML以数据为中心比 json、xml 更适合做配置文件例如 YAML 语法 基本语法 K(空格) V表示一对键值对(空格必须有)只要是左对齐的一列数据都是同一个层级的属性和值也是大小写敏感 值的写法 字面量普通的值(数字、字符串、布尔)K:V字面量直接来写字符串默认不用加上单引号或双引号 双引号不会转义字符串里面的特殊字符特殊字符会作为本身想表示的意思 例如name:zhangsan \n lisi 输出 zhangsan 换行 lisi 单引号会转义特殊字符特殊字符最终只是一个普通的字符串数据 例如name:zhangsan \n lisi 输出 zhangsan \n lisi 对象、Map(属性和值) K:V在下一行来写对象的属性和值的关系注意缩进对象key:value 方式数组用 - 表示数组中的一个元素 配置文件注入 配置文件 person:laseName: helloage: 18boss: falsebirth: 2019-09-09maps: {k1:v1,k2:v2}lists: - lisi- zhaoliiudog: name: 小狗age: 12 JavaBean Component
ConfigurationProperties(prefix person)
public class Person {private String laseName;private Integer age;private Boolean boss;private Date birth;private MapString, Object maps;private ListObject lists;private Dog dog;
} 导入文件处理器 !‐‐导入配置文件处理器配置文件进行绑定就会有提示‐‐
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring‐boot‐configuration‐processor/artifactIdoptionaltrue/optional
/dependency properties 配置文件在 IDEA 中默认 UTF-8 乱码问题Value 获取值和ConfigurationProperties 获取值比较 松散绑定大小写区别ConfigurationProperties 会自动找到驼峰命名法的哪个字段 Value 注解不支持自动寻找SqELValue 注解中可以使用 #{} 和 ${} 进行赋值而 ConfigurationProperties 不支持这样赋值JSR303 数据校验例如 Emile 注解 在 ConfigurationProperties 中加入这个注解在配置文件中相对应的形式应给为 Emile 形式否则会报错在 Value 注解注入值使用这个数据校验注解是无效的 复杂数据封装 Value 注解不支持除基本数据类型以外类型封装而 ConfigurationProperties 注解支持复杂数据封装 在某个业务中获取一个配置文件中的某个值使用 Value 注解编写一个 JavaBean 来和配置文件进行映射直接使用 ConfigurationProperties 注解 配置文件 spring.application.nameS45SpringBootDemoApplicationTestsperson.emailkkkk
person.hellolucky
person.last-name张三
person.birth2017/2/4
person.age19
person.bosstrue
person.listdog,cat,animal
person.maps.key1value1
person.maps.key2value2
person.dog.name${person.hello}_dog
person.dog.age12 Value 注解注入值数据校验 注意Value 注解不能注入复杂属性(对象集合等) Conponent
Validated //加入校验方式
public class Person {//传入的值必须是邮箱格式,否则会报错Emailprivate String email;private String hello;//${} : 为取值和 application.properties 配置文件中字段一样的值Value(${person.last-name})private String lastName;//#{} : 可以写表达式Value(#{3*2})private Integer age;//Value 注解也可以直接赋值Value(true)private boolean boss;//Value注解不能注入复杂属性private Date birth;private MapString,String maps;private ListString list;//set get 方法} ConfigurationProperties 注解映射注入属性 注意容器中的组件才能使用该注解 Component
//将本类中的所有属性和配置文件中 person2 下面的所有属性进行映射
ConfigurationProperties(prefix person2)
Validated //校验注解
public class Person2 {String email;String hello;String lastName;int age;boolean boss;Date birth;MapString,String maps;ListString list;Dog dog;
} 导入配置文件处理器 !‐‐导入配置文件处理器配置文件进行绑定就会有提示‐‐
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring‐boot‐configuration‐processor/artifactIdoptionaltrue/optional
/dependency PropertySource ImportResource Bean PropertySource加载指定的配置文件 //PropertySource加载指定配置文件
PropertySource(value{classpath:person2.properties})
Component
//将本类中的所有属性和配置文件中 person2 下面的所有属性进行映射
ConfigurationProperties(prefix person2)
public class Person2 {String email;String hello;String lastName;int age;boolean boss;Date birth;MapString,String maps;ListString list;Dog dog;
} ImportResource导入 Spring 的配置文件让配置文件里面的内容生效 SpringBoot 里面没有 Spring 的配置文件我们自己编写的配置文件也不能自动识别编写 applicationContext.xml 文件 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdbean idpersonservice classcom.example.springbootdemo.Service.impl.Person2ServiceImpl/bean
/beans 导入 Spring 的配置让其生效配置类注入测试 RunWith(SpringRunner.class)
SpringBootTest
public class TxDemo3ApplicationTests {//注入对象AutowiredApplicationContext applicationContext;Testpublic void contextLoads01() {System.out.println(applicationContext.getBean(personservice));}
} Bean给容器中添加组件 配置类 Configuration 配置文件使用 Bean 给容器中添加组件 //Configuration标明当前是一个配置类,代替之前的 Spring 配置文件
Configuration
public class MyAppConfig {//将方法返回的值添加到容器当中,当前组件默认 ID 为当前文件名//Bean注解给容器中添加组件Beanpublic HelloService HelloService01(){System.out.println(配置类 Bean 给容器中添加了组件);return new HelloServiceImpl();}
}