springboot注解

1.@AliasFor注解

2.复合注解:没有定义新的属性而是复用其他注解已有的注解属性并对其进行组合
形成新的注解从而到达到便捷的目的。这样的注解我们可以称之为复合注解。

3.@ComponentScan: 告诉spring查找别的组件、配置,主要在com/xxx包下,寻找controllers
4.@EnableAutoConfiguration:基于类路径去添加beans,以及其它配置

5.@Controller:表明该类为一个Controller
@RequestMapping(path="/demo")      :意味着URL的开始在Application path的后面以demo 开头

@Autowired
private UserRepository userRepository;
:通过Spring自动生成,使用该注解处理数据,获取名为userRepository的bean

@PostMapping(path="/add"):只用于post请求

@RequestParam means it is a parameter from the GET or POST request
@ResponseBody means the returned String is the response, not a view name

@RequestMapping maps all HTTP operations.

@ComponentScan: Tells Spring to look for other components, configurations, and services in the com/example package, 
letting it find the controllers.

2023/01/29:
@order 注解:
@order当中只要一个value属性,而且还是int类型,值越低优先级越高,默认值是Ordered.LOWEST_PRECEDENCE,表示最低优先级(输给任何其他指定的顺序值)。
定义Spring IOC容器中Bean的执行顺序的优先级(这里的顺序也可以理解为存放到容器中的先后顺序)。开发过程当中有时候经常会出现配置依赖关系,
例如注入A对象使用了@ConditionalOnBean(B.class),意思是要求容器当中必须存在B.class的实例的时候,
才会进行注入A。这时候我们就必须保证B对象在注入A对象前进行注入。


@Retention是用来修饰注解的生命周期的

@Documented只能用在注解上,如果一个注解@B,被@Documented标注,那么被@B修饰的类,生成Javadoc文档时,会显示@B

1.在多数据源数据库的情形下,可自定义数据源注解,如@DS

可序列化类必须声明显式 serialVersionUID 值,显式 serialVersionUID 声明尽可能使用该 private 修饰符,
因为此类声明仅适用于立即声明的类 - serialVersionUID 字段作为继承成员没有用处。数组类不能声明显式 serialVersionUID,
因此它们始终具有默认的计算值,但数组类免除了匹配 serialVersionUID 值的要求


3.@SneakyThrows注解是由lombok中封装的注解,它就是为了消除那种抛出异常的模板代码。使用注解后,在编译时,自动将注解替换为try-catch

@SneakyThrows
   public void utf8ToString(byte[] bytes) {
       return new String(bytes, "UTF-8");
   }


真正生成的代码:
 
public void utf8ToString(byte[] bytes) {
    try {
      return new String(bytes, "UTF-8");
    } catch (Exception e) {
      throw Lombok.sneakyThrow(e);
    }
}    
 
 
4.@MapKey注解:    通过@MapKey注解返回的Map,其key的类型和指定的字段类型是一致的
指定id作为Map的key,id为int类型,那么该Map的key也为integer类型,如果你通过String类型的key去获取value,则获取不到

在多值查询的时候,通常要把方法返回类型设置为Map<String,Object>类型,Mybatis为我们提供了另一种解决方式,
通过K-V的形式将查询结果保存在Map中,这种实现方式只需要在方法上标注为@Mapkey即可。

5.Controller:
@RestController
@Resource
    private MachineInfoService machineInfoService;
    
6.@Service:
@Resource
    private DCMachineMapper dcMachineMapper;
    
7.@Mapper:

8.autowired和resource注解的区别:
链接:https://www.nowcoder.com/questionTerminal/14b4018cc5de488498abe49f7664128b?source=relative

https://blog.csdn.net/lhc66666/article/details/124120349

https://blog.csdn.net/qq_45590494/article/details/114444371?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-114444371-blog-124120349.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-114444371-blog-124120349.pc_relevant_aa2&utm_relevant_index=6

@Aurowrite是Spring提供的注解 他是ByType进行注入的。他要求注入对象必须是非null,
如果允许null值的话就去配置其require属性为fasle一般会跟@qualifer连用就可以ByName注入。 
@resource是JDK提供的注解,他是首先根据ByName进行注入的,如果没有找到会根据ByType进行注入。

9.通过注解注入到IOC容器的id值默认是其类名首字母小写

10.端口被占用:
Identify and stop the process that's listening on port 9002 or configure this application to listen on another port.

https://blog.csdn.net/weixin_42060107/article/details/116236734?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-116236734-blog-115873488.235%5Ev39%5Epc_relevant_3m_sort_dl_base3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-116236734-blog-115873488.235%5Ev39%5Epc_relevant_3m_sort_dl_base3

在控制台输入: netstat -aon|findstr "9002"  ,查看9002端口的状态,记着后面的11132代号
输入命令: taskkill /pid 11132 /f ,杀掉11132(8080)即可

若杀掉进程显示拒绝访问,以管理员身份运行终端即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值