- 浏览: 943030 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (306)
- spring (20)
- ext (15)
- 其它综合 (8)
- svn (6)
- struts (1)
- java综合 (27)
- javascript (19)
- jquery (9)
- linux (56)
- tomcat (10)
- 数据库 (37)
- hibernate (9)
- seo (2)
- web前端 (3)
- 生活 (3)
- 软硬件 (11)
- python (5)
- apache (10)
- spring security (3)
- 好书分享 (4)
- ant (2)
- hudson (1)
- php (2)
- android (3)
- nginx (6)
- memcached (2)
- Tapestry (1)
- nodejs (2)
- cygwin (4)
- jboss (8)
- windows server (2)
- poi (1)
- css (5)
- weblogic (2)
- activemq (0)
- centos (4)
- sybase (1)
- lucene (2)
- daemontools (1)
- rabbitmq (2)
- zookeeper (1)
- nagios (1)
- jetty (4)
- ivy (1)
- maven (3)
- mysql (2)
- java设计 (1)
- redis (2)
- 二维码 (1)
- github (1)
最新评论
-
837030601:
很棒,虽然看不懂,楼主能给小白解释下不,解决问题了
mvn jetty:run 启动很慢解决办法 -
jevmok:
第二种方式错误无法添加;
jetty8 添加静态文件目录 -
JavaAiHaoZhezh:
...
spring在filter中注入bean -
zhanglongbin:
感谢楼主分享!!我遇到的问题:本地word转html 两个编码 ...
poi完美word转html(表格、图片、样式) -
wjs876046992:
文档编号显示不对,读出来全是1和1.1,我的文档是1,1.1, ...
poi完美word转html(表格、图片、样式)
由于filter不属于spring容器管理,所以filter内不能注入bean;为解决此问题我们写了个listener,在web启动时将spring context丢进去.这样就可以从filter里拿到我们想要的bean了.
web.xml
注意的是,如果你使用了spring的mvc,那么原来的
就要去掉,否则会报multipul ContextLoaderListener,因为这个是继承了ContextLoaderListener的.
然后就是使用了,在你的filter里通过:
public class StartupListener extends ContextLoaderListener implements ServletContextListener { protected Logger log = LoggerFactory .getLogger(StartupListener.class); public void contextInitialized(ServletContextEvent event){ if (log.isDebugEnabled()) { log.debug("initializing context..."); } // call Spring's context ContextLoaderListener to initialize // all the context files specified in web.xml super.contextInitialized(event); ServletContext context = event.getServletContext(); setServletContext(context); ApplicationContext ctx = WebApplicationContextUtils .getRequiredWebApplicationContext(context); setAppContext(ctx); setupContext(context); } public static void setupContext(ServletContext context) { } public static Object getBean(String beanName) { return appContext.getBean(beanName); } /** */ private static ApplicationContext appContext; public static ApplicationContext getAppContext() { return appContext; } public static void setAppContext(ApplicationContext ctx) { appContext = ctx; } /** * ServletContext */ private static ServletContext servletContext; /** * @return Returns the servletContext. */ public static ServletContext getServletContext() { return servletContext; } /** * @param servletContext * The servletContext to set. */ public static void setServletContext(ServletContext servletContext) { StartupListener.servletContext = servletContext; } public static String getServletWebInfRealPath() { return servletContext.getRealPath("WEB-INF"); } }
web.xml
<listener> <listener-class>com.portal.listener.StartupListener</listener-class> </listener>
注意的是,如果你使用了spring的mvc,那么原来的
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
就要去掉,否则会报multipul ContextLoaderListener,因为这个是继承了ContextLoaderListener的.
然后就是使用了,在你的filter里通过:
StartupListener.getBean("beanname");
发表评论
-
interceptor获取@PathVariable参数值
2015-08-31 16:50 6216Map pathVariables = (Map) requ ... -
responsebody中文乱码
2013-08-29 17:13 1082添加以下代码, 需要在annotation-driven和co ... -
servlet中绑定spring bean
2012-12-21 14:31 1293public void init(ServletConfig ... -
spring注解 @autowired @resource
2012-05-10 11:27 1870@Resource注解 @Resource注解和@Autow ... -
spring3国际化 动态语言切换
2012-03-07 11:06 97431.配置文件 <!-- load the prope ... -
spring3 MVC处理静态文件
2012-03-05 11:17 1667当使用springmvc,如果请求是静态资源,如js、css和 ... -
springMVC的CharacterEncodingFilter不生效解决办法
2011-07-28 17:30 2502解决办法是将这个提至其它filter之前。 -
spring3 mvc @responsebody 乱码解决方法
2011-06-26 10:14 1315spring3使用@ResponseBody 输出乱码,加入此 ... -
getJdbcTemplate().queryForMap 返回空集
2011-05-21 12:40 11624利用spring 的getJdbcTemplate().que ... -
spring controller can not forward or redirect j_spring_security_check
2011-03-30 22:00 1867在配置文件添加 <filter-mapping> ... -
ObjectDefinitionSource转SecurityMetadataSource
2011-03-27 16:51 2659spring security 3.0.X开始, org.sp ... -
spring3 mvc controller映射date类型
2011-02-05 23:22 11102spring3 mvc 的controller方法如果有参数会 ... -
Ext grid显示spring MVC返回的json时间
2011-02-01 00:48 4287JsonReader里可通过设置{name: 'startTi ... -
spring aop使用笔记
2011-01-26 18:13 2195定义一个aspect类: @Aspect public cl ... -
BeanCreationException: No unique bean of type
2011-01-19 23:31 7093我定义了一个基类接口BaseDao,下面有些update\sa ... -
spring security 返回具体登陆错误信息
2011-01-12 14:26 23005对于spring security的登陆,当你设置了<p ... -
BeanPostProcessor的作用
2011-01-03 22:33 7277有时候,我们希望在Spring IoC容器初始化受管Bean之 ... -
spring在配置文件中读取properties
2011-01-03 21:34 1085<bean id="propertyConfi ... -
spring3 + spring security3 + swfupload 上传卡死问题
2010-12-28 23:44 3209环境:spring3 + spring security3 + ...
相关推荐
开发者无需在Filter或Servlet内部硬编码bean名称,而是通过Spring容器自动注入所需的依赖,大大提升了代码的整洁度和复用性。此外,Spring提供的Filter和Servlet代理类,进一步简化了集成过程,使开发者可以专注于...
除了基本的`@Component`家族,Spring还提供了一些高级注解,如`@Scope`用于定义Bean的作用域,`@Lazy`用于延迟初始化Bean,`@Qualifier`用于在多个相同类型的Bean中指定特定的一个。 ### **总结** Spring的自动...
在Spring框架中,如果需要在ActionForm中注入其他对象,例如数据库访问层的服务,可能会遇到问题,因为ActionForm通常是非Spring管理的bean。 针对这个问题,一种解决办法是将注入的属性声明为静态,并修改setter...
在`web.xml`中配置Spring时,通常通过Listener来加载Spring容器,这样可以在应用程序启动时初始化所有的Spring Bean。 **示例代码:** ```xml org.springframework.web.context.ContextLoaderListener ...
在 Spring 框架的早期版本中,依赖注入(Dependency Injection, DI)主要通过 XML 配置文件来实现。随着 Java 技术的发展和应用需求的变化,Spring 3.0 引入了基于注解(Annotation)的依赖注入方式,极大地简化了...
在Spring MVC中,常见的Filter包括字符编码Filter、登录验证Filter等。 - `CharacterEncodingFilter`:确保请求和响应的字符编码一致,防止乱码问题。配置示例: ```xml <filter> <filter-name>...
- **功能简介**:包含在应用中使用 Spring 的 AOP 特性时所需的类,如声明式事务管理。 - **应用场景**:适用于需要使用 AOP 功能的项目。 - **依赖关系**:依赖于 `spring-core.jar`、`spring-beans.jar`、`cglib-...
Spring中bean的范围定义了它的生命周期以及一个bean实例是否对单个请求、会话、整个Web应用可用。 4.6 自定义bean的性质 开发者可以为bean定义生命周期回调方法,以实现初始化和销毁逻辑。另外,还可以通过实现特定...
4. **Action类与Spring的结合**:在Struts的Action类中,不再直接创建Service或DAO的实例,而是声明为成员变量,并用`@Autowired`注解(如果是Spring3及以上版本)或Spring的`<bean>`标签进行注入。这样,Struts ...
+ 启动 Spring 容器加载配置文件,实例化其中配置好的对象,并按照指定的名字存在 Spring 容器中 BeanFactory 和 ApplicationContext * BeanFactory:延迟加载,使用 bean 时才进行初始化 * ApplicationContext:...
Spring框架是Java开发中的核心组件,它提供了许多高级特性,如依赖注入(Dependency Injection, DI)、面向切面编程(Aspect-Oriented Programming, AOP)以及容器管理的事务等。以下将详细介绍Spring学习笔记中的...
Struts2会自动从Spring容器中查找并注入Action所需的bean。 通过这样的整合,我们能够实现业务逻辑和视图层的解耦,使代码更加模块化,便于维护和扩展。同时,Spring的IoC和AOP特性也能够更好地支持企业级应用的...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、易用性和灵活性著称。Spring2中文手册是针对Spring框架的早期版本2.x提供的一份详细文档,旨在帮助开发者理解和掌握这个版本的核心特性和使用方法。以下是对...
- **配置Spring Security Bean**:接下来需要在Spring的配置文件中定义过滤器链以及其他Spring Security组件。 ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Spring框架是中国著名的Java开发者Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中提出的,它旨在简化企业级应用开发,通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-...
在Java Web 开发中,Shiro 被广泛用于构建安全控制层,而Spring 和 Spring MVC 则是两个流行的Java企业级应用开发框架,分别负责依赖注入和Web MVC层面的处理。将Shiro 整合到Spring 和 Spring MVC 中,可以实现统一...
在Spring中配置Bean有多种方式,包括通过全类名(使用反射)、通过工厂方法(静态工厂方法或实例工厂方法),以及使用FactoryBean来创建Bean实例。Bean的生命周期由Spring IoC容器管理,包括Bean的创建、属性设置、...
Struts2插件负责在Action执行时从Spring容器中查找并注入Bean。 总结一下,Spring在`web.xml`中的配置主要关注ApplicationContext的初始化和配置文件的位置,而Struts中的配置则是在Struts2配置文件中声明Action和...
1. **依赖注入(DI)**:在Spring中,DI可以通过以下几种方式进行: - Setter注入:通过调用Bean的setter方法设置依赖对象。 - 构造器注入:通过构造函数传递依赖对象。 - 注解注入:使用`@Autowired`,`@...