Mistake
bigInt对应的属性类型 应该是Long
对客户端的的数据
不信任客户端传入数据,接收客户端数据需要进行检查
能不用客户数据实现功能就尽量不要使用
多次复用或属性较多可以考虑封装
Vue :安装和运用三方依赖
事务完整性注释@Transctional
保证事务的完整性,事务是指两次及其以上的数据库CRUD操作,要么同时完成要么同时失败。
该标签通过感知到RunTimeExcepution的抛出来回滚事务操作,意思是如果你的逻辑业务操作失败,并没有抛出RunTimeExcepution那么就无法触发回滚操作事务一致性也无法保证。
该标签可以通过
Transactional
Spring框架的作用
spring框架会对添加了@componentScan的配置类,配置类是指添加了@configuration的类,进行扫描,扫描@componentScan标签配置的包,及其子孙包中添加了@component注解的类,并能够自动创建他们的对象。
如果没有对@componentScan注解进行配置那么默认扫描该配置类所在包及其子孙包。
@component注释的衍生注释有@controller@service@repository(和SQL操作有关的类),@Configuration(其他功能类,自带@component注释)几者功能等价,此上还有springMVC的@RestController@RestControllerAdvice @ControllerAdvice 等,但是其功能差不多均基于@component注释。
@springBootApplication也自带此标签
在添加了@Configuration注释标签的类中对方法添加@Bean注释标签,该方法会自动调用并获取到该方法的返回对象 当使用@AutoWired标签时
对于无法编辑的三方类,只能通过@Bean来自动创建
- 单例模式(spring框架默认自动创建的对象模式)
无论何时该类只提供唯一一个实例
饿汉模式:无论是否需要,提前准备(spring框架默认)
懒汉模式:需要时,再二次判断和创建
@AutoWired 先匹配类型,再匹配名称
@Resource先匹配名称,再匹配类型
一个类使用了@component一类的注释,可以在@Component标签里面设置(直接写String类型)自动装配时对象使用的名字,如果没有那么,默认取类名全小写。
@Service("makeTomato")
public class makeTomato implements IcookService {
xxx
}
@AutoWired多个匹配类时不管是哪个自动装配注解标签都需要类型和名称都匹配。
一旦注解写了名,那么就没有默认名了,用小写类名来区分就不行了
两种方法,要么controller里面@Qualifier写名称筛选要么Impl实现类@Primary首选标记
@Service("makePotato")
@Primary
public class makePotato implements IcookService {
xxx
}
@AutoWired
@Qualifier("@makeTomato")
public class getFoodController {
@Resource(name = "makeTomato")
IcookService anywords;
}
@AutoWired单个匹配类时略过名称匹配
@Resource 多个匹配类时不管是哪个自动装配注解标签都需要类型和名称都匹配。 @Resource (name="xxx")
public class getFoodController {
@Resource(name = "makeTomato")
IcookService anywords;
}
@Resource 单个匹配时无需 名称匹配(但你不要设置name)
public class getFoodController {
@Resource
IcookService anywords;
}