- 浏览: 453926 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wjs876046992:
后来我下载了Eclipse Indigo版本,同样操作却成功了 ...
myeclipse2014中安装spket-1.6.23 -
wjs876046992:
我的是myEclipse2014,将那两个文件夹拷贝到drop ...
myeclipse2014中安装spket-1.6.23 -
lucky8060:
应该不是每次请求都产生一个action吧?应该是每个sessi ...
Struts2 action的单例与多例
一、bean基础
1、bean的基本定义
2、bean的作用域
3、bean实例,配置合作者bean
bean中需要使用其他bean时需要使用ref属性
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="student" class="com.ru.domain.Student"> <!-- collaborators and configuration for this bean go here --> <property name="id" value="1"/> <property name="name" value="如神"/> <property name="age" value="23"/> </bean> <!-- 引用其他的bean实例 --> <bean id="clazz" class="com.ru.domain.Clazz"> <property name="id" value="01"/> <property name="name" value="1班"/> <!-- 这个引用了student对象实例,使用ref属性 --> <property name="stu" ref="student"/> </bean> </beans>
二、bean注入
1、通过构造函数注入值
通过构造函数注入,需要在bean中创建构造方法。
注意:spring不会区分构造参数的顺序,并且把参数类型都解释成string型。
bean
public class Student { private Integer id; private String name; private Integer age; public Student(Integer id, String name, Integer age) { super(); this.id = id; this.name = name; this.age = age; } public Student(String name, Integer age) { super(); this.name = name; this.age = age; } public Student(Integer id, String name) { super(); this.id = id; this.name = name; }
beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="student" class="com.ru.domain.Student"> <!-- <property name="id" value="1"/> <property name="name" value="如神"/> <property name="age" value="23"/> --> <!-- index表示构造函数里的第几个参数。type是参数的类型,这样写可以避免在有多个构造函数是造成spring的赋值错误 --> <constructor-arg index="1" type="java.lang.String" value="伟"/> <constructor-arg index="0" type="java.lang.Integer" value="1"/> <!-- <constructor-arg value="24"/> --> </bean> </beans>
2、通过属性值注入,调用bean的set方法
ref引用的是bean的id
<bean id="clazz" class="com.ru.domain.Clazz"> <property name="id" value="01"/> <property name="name" value="1班"/> <!-- 这个引用了student对象实例,使用ref属性 --> <property name="stu" ref="student"/> </bean>
3、自动装配
4、注入嵌套bean
嵌套的bean不可以被spring访问
发表评论
-
java实现页面字符串换行空格方法(如果原始字符串存在换行和空格)
2014-09-28 14:23 2135适用于xml、json以及分条字符串 /** ... -
web里的路径获取方法总结
2014-09-25 17:27 6031、获取web系统根目录 String dirPath ... -
servlet或springmvc中得到web项目根路径
2014-07-07 14:53 20241、 request.getServletContext( ... -
springmvc controller和servlet中文乱码问题
2014-05-26 23:00 3664一、第一种方法通过tomcat配置和spring编码过滤器 ... -
flex拓扑图
2014-04-04 13:29 40123 -
使input type=“file”的浏览按钮透明隐藏的方法
2013-09-17 10:51 27603jsp代码: <input type="f ... -
hibernate3.6二级缓存
2013-06-14 09:31 1117使用spring的情况下: 注:首先确定hibernat ... -
一个过滤器实例
2013-06-04 17:33 1000public class AuthFilter imple ... -
Struts标签使用java帮助类方法
2013-06-04 14:53 482<s:property value="@co ... -
分页操作
2013-05-29 09:58 8581.使用hibernate (1)定义变量-页面传递当前 ... -
使用hibernate查询部分字段的方法
2013-04-08 10:35 911数据库操作: List<UserAudit> ... -
log4j使用笔记
2013-04-03 15:10 7871.导入log4j的jar包--log4j-1.2.13. ... -
Struts2 action的单例与多例
2013-03-05 18:03 14939struts 2的Action是多实例 ... -
得到本地和远程IP
2013-03-03 18:16 2133package com.ru.util; impor ... -
在类中获取得到路径,request,response,session
2013-03-02 19:01 5552package com.ru.action; imp ... -
hibernate的hql帮助类
2012-12-18 11:15 1343import java.io.Serializable; ... -
struts2的request,session,application
2012-12-04 16:30 10091.第一种方法(实现RequestAware,Sessi ... -
struts2实现文件上传
2012-10-07 16:06 9241.upload.jsp <%@ page ... -
struts2实现文件过滤
2012-10-07 17:09 1009一、手动实现文件过滤 1.uploadAction.java ... -
struts2实现文件下载
2012-10-07 19:02 997注:struts2提供的下载功能,在action中只需要提 ...
相关推荐
综上所述,Spring 的依赖注入和 Bean 管理不仅限于 Web 应用,也可以方便地应用于 Java Application 中,通过 XML 或注解配置来实现组件间的解耦,提高代码质量。这个示例项目 `test` 可能包含了实现上述功能的代码...
然而,在某些情况下,我们可能需要在非Spring注解的类中访问Spring容器中的Bean,或者在这些类中使用YAML配置文件中的配置信息。本篇将详细介绍如何在这样的场景下实现这一目标。 首先,让我们来理解如何在非Spring...
"深度解析spring容器管理bean"这一主题,旨在深入理解Spring如何通过反射机制、依赖注入(DI)以及XML或Java配置来实现对Bean的生命周期管理。 首先,Spring容器主要有两种类型:DefaultListableBeanFactory和...
Spring的核心容器bean是其强大功能的关键所在,它通过依赖注入、作用域管理、生命周期控制等方式,极大地简化了对象的创建和管理。了解并熟练掌握这些概念,将有助于你在实际开发中更高效地利用Spring框架,提高代码...
在Spring中,Bean是一个被Spring容器管理的对象,它可以通过XML、注解或者Java配置来定义。XML配置是最传统的声明Bean的方式,我们通常在`spring-config.xml`文件中进行配置。 对于List类型的注入,Spring XML配置...
本篇内容将深入探讨Spring容器中Bean的作用域编程开发技术,以帮助开发者更好地理解和利用这些特性来优化应用的性能和设计。 1. **单例(Singleton)作用域**:这是Spring中最常见也是默认的作用域。每个Spring容器...
在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...
而在Java配置中,可以使用`@Component`、`@Service`、`@Repository`和`@Controller`注解标记bean,使用`@Autowired`注解来进行依赖注入。 在提供的案例"springdi01"中,可能包含了Spring DI的示例代码。通常,这个...
在Spring的面试中,面试官常会问到关于依赖注入和Bean装配的问题。理解这些概念对于开发高质量的Spring应用程序至关重要。 首先,我们来讨论一下Spring中常见的依赖注入方式。 1. setter注入(Setter-based ...
当Spring容器读取到XML配置或注解信息后,会通过反射调用无参构造函数创建Bean实例。 5. **依赖查找(Dependency Lookup)** 对于按需加载的依赖,Spring会在容器中查找匹配的Bean并注入。 6. **依赖注入...
- **依赖注入**:依赖注入是一种设计模式,通过依赖注入,一个类的对象不再负责创建其依赖的对象,而是由外部容器(Spring容器)来负责创建这些依赖并注入到需要它们的地方。 #### 三、Spring IoC容器的工作原理 ...
在配置类上使用`@Configuration`注解,然后使用`@Bean`注解来定义方法,该方法返回的对象会被Spring容器注册为一个Bean。 ```java @Configuration public class AppConfig { @Bean public Teacher teacher() {...
通过在类的构造函数中添加参数,Spring容器会根据参数类型匹配并注入相应的bean。例如: ```java public class UserService { private UserDao userDao; public UserService(UserDao userDao) { this.userDao =...
此外,Spring还提供了Bean工厂(BeanFactory)和ApplicationContext作为依赖注入的容器。BeanFactory是Spring中最基本的容器,它可以管理Bean的生命周期和依赖关系;而ApplicationContext不仅包含BeanFactory的所有...
@Bean 是一个注解,用来将一个普通的对象转换为一个 Spring bean,以便可以在spring 容器中管理。@Bean 可以使用在方法上,以便将该方法的返回值转换为一个 Spring bean。 在 Spring Boot 中,以上几种注入方法都是...
3. **属性注入**:根据Bean定义中的依赖注入信息,将其他Bean的引用或值注入到当前Bean的属性中。 4. **初始化回调**:如果Bean定义中指定了初始化方法(通过`init-method`属性),Spring会在所有注入完成后调用这个...
在Spring框架中,依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IoC)是核心概念,它们旨在简化组件之间的耦合,提高代码的可测试性和可维护性。IoC指的是应用程序的控制权由原本...
总之,整合Quartz和Spring,我们可以方便地在Spring容器中管理任务,利用Spring的组件和依赖注入来实现复杂的任务逻辑,同时还能通过Spring的API动态调整任务调度,极大地提高了代码的可维护性和灵活性。