SpringMVC理论
1、SpringMVC的工作原理
1、用户发送请求由前端控制器(DispatcherServlet)进行处理
2、前端控制器(DispatcherServlet)解析URL请求,调用处理器映射器(HandlerMapping),通过处理器适配器按照特定规则对处理器(Handler)进行执行。
3、处理器(HAndler)对数据完成处理以后返回一个ModelAndView对象给前端控制器
4、Handler处理后返回的ModelAndView只是一个逻辑视图,不是真正的视图,前端控制器(DispatcherServlet)通过视图解析器(ViewResolver)转换成真正的视图。
5、前端控制器根据View进行渲染视图(即将模式数据填充之视图中)返回给客户。
当发现有多种类型的Bean时,@Primary注解会通知IoC容器优先使用它所标注的Bean进行注入;@Quelifier注解可以与@AutoWired注解组合使用,达到通过类型和名称一起筛选Bean的效果。
public class ClassRoom { @Autowired @Qualifier("englishTeacher") public ITeacher teacher; }
@Component @Primary public class MaopaoSort implements ISort { public String getName() { return "冒泡排序"; } }
@Component 和 它的子类型(@Controller, @Service and @Repository)注释在类上。告诉Spring,我是一个bean,通过类路径扫描自动检测并注入到Spring容器中。
@Bean不能注释在类上,只能用于在配置类中显式声明单个bean。意思就是,我要获取这个bean的时候,spring要按照这种方式去获取这个bean。默认情况下@Bean注释的方法名作为对象的名字,也可以用name属性定义对象的名字。
web开发,提供3个@Component注解衍生注解(功能一样)取代
@Repository(“名称”):dao层
@Service(“名称”):service层
@Controller(“名称”):web层
@Autowired:自动根据类型注入
@Qualifier(“名称”):指定自动注入的id名称
@Resource(“名称”)
@ PostConstruct 自定义初始化
@ PreDestroy 自定义销毁
@Resource注解和@Autowired注解类似,都用来声明需要自动装配的bean,区别在于@Autowired是类型驱动的注入,而@Resource是名称驱动的注入,所以前者存在多bean问题,而后者,只要保证bean命名唯一就不会出现多bean的问题。

浙公网安备 33010602011771号