1,spring boot入口类(带main class的类)的位置
springboot入口类存放的位置,放到比常规类高一级的包内,这样项目启动时才能加载到包路径下的各个java配置类。
1,spring boot注解
1, @RestController
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
2, @SpringBootApplication
很多Spring Boot开发者总是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他们的main类。由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),Spring Boot提供一个方便的 @SpringBootApplication 选择。
该 @SpringBootApplication 注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。
@Configuration , @EnableAutoConfiguration 和 @ComponentScan ==@SpringBootApplication
用于springboot的入口类main()方法
3, @Configuration
注解用于java配置类,在spring boot启动过程中进行加载
4, @Component:
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
5,@Transactional注解
用在service层上需要实现事务控制的方法上面,只用外部的方法条用才会被AOP捕获,也就是类内部的方法调用本类的其他方法并不会引起事务行为,即使被调用方法使用@Transactional注解所修饰,@Transactional应该用在controller调用service层的第一个方法。
2,从application.yml中读取配置信息的方式
比如我在yml文件中配置了一个配置信息message:
massage: data: name: yy
我在类中想要获取他 需要这样去写,直接注入到name属性中:
@Value("${message.data.name}") private String name;
BigDecimal :
1, compareTo方法比较的是数据是否相等,不看区别不同的小数位,例如2与2.00是相等的。
Equals方法除了比较两者的数值是否相等,还比较小数位是否相等,以上2.equals(2.00),返回是false。
2, BigDecimal除以一个数,结果保留2位小数
sales.getRealPrice().divide(new BigDecimal(sales.getSaleAmount()), 2)
double类型的数,保留两位小数:
public static void main(String args[]){ //保留两位有效数字 DecimalFormat df = new DecimalFormat("###0.0#"); String format = df.format(0.33333); System.out.println(format); // 保留两位有效数字,解决double科学计数法的形式 String format1 = String.format("%.2f", 0.33333); System.out.println(format1); }
BeanUtils.copyProperties() :
用法拷贝对象的属性,拷贝第一参数值给第二个参数
不能用于java.utils.Date属性的拷贝