spring基础知识
Spring Bean通俗解释:
- Bean是啥
1. Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化); 2. 凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性; 3. 规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解; 4. 把Bean理解为类的代理或代言人(实际上确实是通过反射、代理来实现的),这样它就能代表类拥有该拥有的东西了 5. 我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean或者给出一个Bean
- 注解分为两类:
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包。