第一次用Spring2.5

本文介绍Spring2.5中使用@Service和@Autowired注解进行依赖注入的方法,简化了XML配置,通过示例展示了如何定义和服务注入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    一直在使用Spring2.0,看到Spring都已经升级到3.0M2版了,决心该升级自己使用的Spring了!等待3.0正式版出来,先学习一下Spring2.5.6,也就是3.0之前最后的一个正式版,在这里记录一下学习笔记!JavaEye可以导出PDF也是记录笔记的原因之一!!!

    使用BeanPostProcessor与注解是 Spring IoC 容器的一个普通扩展方法,个人对注解比较感兴趣,这里先看看注解IOC的测试!!

1、@Service

   Spring2.5以前的版本中bean都是使用<bean>这样的xml标签来配置的,这样就需要配置很多的bean,当然不是很好,2.5中引入了@Service这个标签,使用这个标签来标识一个class就会自动生成和类名对应的Bean(首字母小写),比如:

 

@Service
public class User {
	private String userName = "erikchang";

	public String toString() {
		return this.userName;
	}
}

   

如果@Service不指定Bean名称,这样就会自动生成一个名为user的Bean,不想让他默认则指定名称:@Service("user1"),在ApplicationContext中就可以如下获取:

 

	ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
		 User u = (User) ctx.getBean("user");//user为bean名称

 这样就大大简化了Bean的配置,不过使用2.5的注解IOC需要配置如下的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"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
	<context:annotation-config />
	<context:component-scan base-package="com.javatalk" />
</beans>

注意配置文件中context的声明;

通过这个简单的bean注解,就可以完成一系列的bean配置而不需要任何的xml配置了!

2、@Autowired

     @Autowired用来标识需要注入的bean,如有2个bean,一个为User,和上面的一样,另一个为Family:

@Service
public class Family {
	private User user;

	public User getUser() {
		return user;
	}

	@Autowired //标识用在set方法或者实体上,表示在Family类中注入了User这个bean
	public void setUser(User user) {
		this.user = user;
	}
	public String toString(){
		return "家族中人员:"+ user.toString();
	}
}

写一个简单的测试类如下:

public class TestAutowire {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
		Family f = (Family) ctx.getBean("family");
		System.out.println(f.toString());

	}

 运行结果如下:



 !

一个简单的标签确实方便了很多,再也不需要写那么xml文件来配置bean了。
 

 

 

内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值