Spring框架注入注解与拦截器浅谈
依赖注入注解1实现注入的注解: (1)修饰属性、方法、构造函数 @Autowire:自动注入,自动去spring容器中寻找指定的bean来注入,require属性指定注入这个bean是否是必须的,如果是必须的,在找不到这个bean的情况下,会抛出异常 @Resource:指定bean的名称为注入 @Qualier:通过和@Autowire来进行指定b
依赖注入注解
1实现注入的注解:
(1)修饰属性、方法、构造函数
@Autowire:自动注入,自动去spring容器中寻找指定的bean来注入,require属性指定注入这个bean是否是必须的,如果是必须的,在找不到这个bean的情况下,会抛出异常
@Resource:指定bean的名称为注入
@Qualier:通过和@Autowire来进行指定bean来注入
(2)修饰类
@Service:service层
@Control:control层
@Resposity:数据存储层
@Compnent:组件
Spring在扫描配置时会标记这些类所生成的bean
2让spring自动扫描指定范围的组件
类:ApplicationContext appContext = new AnotationConfigApplicationContext("包名");
配置文件:<context:anotation-config/>加载注解drive
<context:anotaion-scan base-pacakage=""></context:anotation-scan>指定扫描范围
拦截器
过滤静态资源的方式:
1Web服务器默认的Servlet名称为default,用它来处理静态资源
(1)激活默认的tomcat
<mvc:default-servlet-handler/>
(如果默认的web服务器的servlet不是default,则添加default-servlet-name属性来指定servlet名称)
(2)设置不拦截静态资源访问路径
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/css/*</url-pattern>
</servlet-mapping>
2<mvc:resources mapping="" location=""/> mapping设置请求路径;location设置静态资源所在的真实路径
3自定义拦截器
(1)配置文件
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path=""/>
<bean class=""/>
</mvc:interceptor>
<!--如果有多个拦截器先顺序调用每一个拦截器的preHandler方法,然后再逆序调用每个拦截器的postHandler和afterCompletion方法-->
</mvc:interceptors>
(2)拦截器类
a.继承类HandlerInterceptorAdapter
b.实现方法preHandler、postHandler、afterCompletion
(3)拦截器的执行顺序
先顺序执行每一个拦截器的preHandler方法,
如果返回false,那么回执每一个拦截器的afterCompetion方法
如果返回true,那么执行下一个拦截器的preHandler方法,直到所有的拦截器被执行完,然后执行被拦截的Control,执行完后,然后回到拦截器链,然后从最后
一个拦截器回执每一个拦截器的postHandler方法,然后从最后一个拦截器回执每一个拦截器的afterCompletion方法
更多推荐
所有评论(0)