/spring基础

Created Wed, 26 Apr 2023 16:19:41 +0900

spring基础知识

Spring Bean通俗解释:

  1. Bean是啥
    1. Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化);
    2. 凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性;
    3. 规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解;
    4. 把Bean理解为类的代理或代言人(实际上确实是通过反射、代理来实现的),这样它就能代表类拥有该拥有的东西了
    5. 我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean或者给出一个Bean
    
  2. 注解分为两类:
    1、一类是使用Bean,即是把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装;比如@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean;
    2、一类是注册Bean,@Component , @Repository , @ Controller , @Service , @Configration这些注解都是把你要实例化的对象转化成一个Bean,放在IoC容器中,等你要用的时候,它会和上面的@Autowired , @Resource配合到一起,把对象、属性、方法完美组装。
    

参考:1.Spring中Bean及@Bean的理解2.spring注解大全

注解与反射:

  • 基础注解
    @Autowired
    @Qualifier("redisStore")
    Autowired(自动填装)无法识别该填装哪个实例时,通过Qualifier(精确填装)指明该使用哪个Bean。
    应用场景:有两个RedisTemplate类的Bean时,使用@Qualifier("redisStore")来指定使用redisStore的Bean。
    
  • AOP
    @Before:执行方法前执行
    @After:无论是否异常,都在方法运行结束后执行
    @AfterReturing:只有在方法正常返回值后执行
    @AfterThrowing:只有在方法执行异常时执行
    @Around:配合@joinPoint.processsing使用,可以控制在么时候执行被切入的方法(并且可以通过在切面方法内的return控制是否执行被切入的方法,因为切入方法return之后并不再额外执行一次被切面的方法)
    
    参考:java 反射

项目结构中各文件夹的解释

-  PO(persistence object):用于持久化时(例如保存到数据库或者缓存);
-  VO(value object):用于前端展示使用(例如放置到JSP中解析或者给前端传递数据)
-  DTO(data transfer object):用于接口互相调用返回,数据传输(例如很多接口调用返回值或消息队列内容);

jar包与war包

web工程打包为war包,java工程打包为jar包。