@Configuration
传统方式:
<beans> <bean id="orderService" class="com.acme.OrderService"/> <constructor-arg ref="orderRepository"/> </bean> <bean id="orderRepository" class="com.acme.OrderRepository"/> <constructor-arg ref="dataSource"/> </bean> </beans>
ApplicationContext ctx = new ClassPathXmlApplicationContext("application-config.xml"); OrderService orderService = (OrderService) ctx.getBean("orderService");
注解方式:
@Configuration public class ApplicationConfig { public @Bean OrderService orderService() { return new OrderService(orderRepository()); } public @Bean OrderRepository orderRepository() { return new OrderRepository(dataSource()); } public @Bean DataSource dataSource() { // instantiate and return an new DataSource … } }
JavaConfigApplicationContext ctx = new JavaConfigApplicationContext(ApplicationConfig.class); OrderService orderService = ctx.getBean(OrderService.class);
@Scope("prototype")
@Scope("prototype") public class PrintTask2 implements Runnable { String name; public void setName(String name) { this.name = name; } @Override public void run(){ System.out.println(name + " is running."); try{ Thread.sleep(5000); }catch(InterruptedException e){ e.printStackTrace(); } System.out.println(name + " is running again."); } }
如果action或Service中不@Scope("prototype"),有可能报找不到xxxaction或Service的错误!写上这个就表示每次请求都重新创建一个action或Service,与SINGALON对应,俗称“多例”。
@Component
@Component @Scope("prototype") public class PrintTask2 implements Runnable { String name; public void setName(String name) { this.name = name; } @Override public void run(){ System.out.println(name + " is running."); try{ Thread.sleep(5000); }catch(InterruptedException e){ e.printStackTrace(); } System.out.println(name + " is running again."); } }
把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
@Repository
@Repository public class DaoImpl implements IDao{ }
应用于Dao层,把该类注册到Spring容器中
@Service
@Service public class ServiceImpl implements IService { @Autowired private IDao iDao; }
应用于Service层,把该类注册到Spring容器中
@Controller
@Controller public class TestController { @Autowired private IService iService; }
应用于Action层,把该类注册到Spring容器中
@Autowired , @Qualifier("XXX")
@Service public class TestServiceImpl { @Autowired @Qualifier("iTestDao2") private ITestDao iTestDao; }
在ITestDao接口标上@Autowired和@Qualifier注释使得ITestDao接口存在两个实现类的时候必须指定其中一个来注入,使用实现类首字母小写的字符串("iTestDao2")来注入。否则可以省略,只写@Autowired
相关推荐
Spring 源码注释中文版的提供,使得开发者能够更加深入地理解 Spring 的工作原理,无需经过复杂的编译过程,可以直接阅读源码注释来学习。 Spring 框架主要由以下几个关键模块组成: 1. **Core Container(核心...
这份"spring 源码中文注释"包含了对Spring框架源码的详细解读,对于理解其工作原理、优化代码以及定制化开发具有重要意义。 首先,我们来看看Spring的核心组件——IoC容器。IoC容器是Spring的核心,它负责管理对象...
这份"spring源码(注释+测试版)"提供了Spring框架的源代码,带有注释和测试用例,对于开发者深入理解Spring的工作原理非常有帮助。 1. **spring-core**:这是Spring框架的基础模块,包含了核心的工具类和资源处理...
以下是一个简单的例子,包括`Office`、`Car`和`Boss`三个类,它们在Spring容器中被声明为Bean,并且有依赖关系: - `Office`类有一个`officeNo`属性。 - `Car`类有两个属性:`brand`和`price`。 - `Boss`类有两个...
这个压缩包文件中的"spring源码 中英文注释"为开发者提供了一个深入理解Spring框架内部工作原理的机会。通过阅读源码和注释,我们可以更清晰地了解Spring如何管理依赖注入、AOP(面向切面编程)、事务管理、上下文...
在"spring 编译后源码(有注释)"这个压缩包中,你将获得 Spring 框架 5.0.2.RELEASE 版本的源代码,这些源码已经包含了中文注释,对于学习和理解 Spring 框架的工作原理极其有价值。 1. **IoC(Inversion of ...
新版 spring 5 中文注释源码,关键源码位置都有中文注释,方便阅读源码 spring源码解读 Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的...
在这个"Spring注释包"中,我们将深入探讨Spring框架如何通过注释来简化开发,提高代码的可读性和可维护性。 首先,让我们了解一下Spring中的核心注解: 1. `@Component`:这是最基础的组件注解,用于标记一个类为...
除了这三个主要模块,Spring4源码还可能包含了其他的子模块,如AOP、JDBC、ORM(对象关系映射)、Tx(事务管理)等。每个子模块都有其特定的功能,例如AOP用于实现切面编程,提供声明式事务管理;JDBC和ORM模块则...
一阶段 1、Spring概述 2、一切从bean开始 ...三阶段 Spring AOP的涉及原理及具体实践 SpringJDBC的涉及原理及二次开发 SpringMVC框架设计原理及手写实现 四阶段 Spring事务源码解析 需要其他源码请私信我
Spring配置 Spring 配置 映射 加注释!!!!Spring配置 Spring 配置 映射 加注释!!!!
在这个带有中文注释的maven版本中,我们能够更方便地理解和学习Spring的源码。 Maven 是一个项目管理和综合工具,它帮助开发者管理项目依赖、构建流程以及提供了一种标准化的项目结构。在Spring Framework 5.1.x的...
《Spring框架5.0.2.RELEASE中文注释版详解》 Spring框架是Java开发中的一个核心组件,尤其在企业级应用中广泛使用。本文将深入解析Spring框架5.0.2.RELEASE版本,该版本包含了详尽的中文注释,便于开发者理解和学习...
《Spring Framework 5.0.2.RELEASE 中文注释版深度解析》 Spring Framework作为Java领域中的核心框架,以其强大的功能和灵活的扩展性深受开发者喜爱。此压缩包"spring-framework-5.0.2.RELEASE-中文注释版.zip"提供...
spring源码中文注释方便学习,spring源码学习加注释。 spring源码中文注释方便学习,spring源码学习加注释。 spring源码中文注释方便学习,spring源码学习加注释。 spring源码中文...
花了些时间做了一个实验,彻底弄懂了spring Annotation注入的方式。凡带有@Component,@Controller,@Service,@Repository 标志的等于告诉Spring这类将自动产生对象,而@Resource则等于XML配置中的ref,告诉spring此处...
《Spring Framework 5.0.2.RELEASE 中文注释版源码详解》 Spring Framework 是Java开发领域中不可或缺的一部分,它提供了一个全面的应用程序开发框架,帮助开发者处理常见的企业级应用开发问题。5.0.2.RELEASE 版本...
Spring框架是Java开发中不可或缺的一部分,它以其模块化、松耦合和强大的功能特性深受开发者喜爱。Spring 3.1是该框架的一个重要版本,它带来了许多改进和新特性,旨在提升开发效率和应用程序的可维护性。在这个...
Spring框架是Java开发中不可或缺的重要组成部分,它以其强大的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)特性,以及丰富的模块化设计,成为企业级应用开发的首选。本压缩包包含了Spring的...
spring-core-4.2.5.RELEASE-javadoc.jar (spring4.2.5的文档,即为spring的源码注释),导入到eclipse中,就可以查看spring的源码注释,当调用spring的类或者方法时就会显示注释信息。