在使用Spring的关于Bean的组件扫描-------小小一点笔记
1.如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。
<!-- 注解注入 -->
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.liantuo.hotel.common.service.impl" />
<context:component-scan base-package="com.liantuo.hotel.common.dao.ibatis" />
<context:component-scan base-package="com.liantuo.hotel.app.dao.ibatis" />
<context:component-scan base-package="com.liantuo.hotel.app.service" />
<context:component-scan base-package="com.liantuo.hotel.app.service.ibatis" />
2.下面是引用spring framework开发手册中的一段话“
Spring 2.5引入了更多典型化注解(stereotype annotations):
@Component
、@Service
和 @Controller
。@Component
是所有受Spring管理组件的通用形式;而@Repository
、@Service
和 @Controller
则是@Component
的细化,用来表示更具体的用例(例如,分别对应了持久化层、服务层和表现层)。也就是说,你能用@Component
来注解你的组件类,但如果用@Repository
、@Service
或@Controller
来注解它们,你的类也许能更好地被工具处理,或与切面进行关联。例如,这些典型化注解可以成为理想的切入点目标。当然,在Spring Framework以后的版本中, @Repository
、@Service
和 @Controller
也许还能携带更多语义。如此一来,如果你正在考虑服务层中是该用@Component
还是@Service
,那@Service
显然是更好的选择。同样的,就像前面说的那样, @Repository
已经能在持久化层中进行异常转换时被作为标记使用了。”
3.有了<context:component-scan>,另一个<context:annotation-config/>标签根本可以移除掉,因为已经被包含进去了。
4.<context:component-scan>提供两个子标签:<context:include-filter>和<context:exclude-filter>各代表引入和排除的过滤。
如:<context:component-scan base-package="com.xhlx.finance.budget" >
<context:include-filter type="regex" expression=".service.*"/>
</context:component-scan>
5.Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。当 Spring 容器启动时,AutowiredAnnotationBeanPostProcessor 将扫描 Spring 容器中所有 Bean,当发现 Bean 中拥有 @Autowired 注释时就找到和其匹配(默认按类型匹配)的 Bean,并注入到对应的地方中去
相关推荐
spring 使用MongoDB/redis使用示例,简单易懂
spring使用的设计模式
java rmi spring 使用实例,内涵服务端和客户端的源代码,测试可用。
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...
Spring使用XML方式进行自动装配本博客https://blog.csdn.net/qq_40634846有零基础入门Spring。有兴趣可关注本博客,希望对大家有用
一般使用mybatis的环境,大多都是别人已经配置...我文章中的方法不基于spring,一般很少会在真实项目中直接使用。我把我的搭建过程记录下来给有用的人吧。 https://blog.csdn.net/lxyoucan/article/details/126162493
Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
在本文中,我们将详细介绍如何使用 Spring 创建一个简单的工作流,并探讨工作流的定义、工作流模式、顺序工作流模式、使用 Spring 创建工作流组件等方面的内容。 工作流的定义 工作流是指不需要用户交互,按预定...
使用Spring JdbcTemplate+Druid数据源+FreeMarker 开发的代码生成器。 您可以根据自己的实际,修改一下FreeMarker的模版文件,直接按目录生成Java代码。 生成了就能用,节省大量重复工作的时间。 您也可以用来学习...
JavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源代码 spring-toplinkJavaEE源...
Spring的注入在Servlet中使用:在Servlet中使用Spring注入的信息,需要WebApplicationContext这个专门为Web准备的应用上下文
6. **AOP实现**:Spring使用JDK动态代理或CGLIB实现AOP代理,这在`org.springframework.aop.framework`包下可以找到。了解这两者的实现机制,有助于理解Spring如何在运行时创建和增强目标对象。 7. **事件驱动**:...
"Spring 使用 RabbitMQ 进行消息传递的示例代码" Spring 使用 RabbitMQ 进行消息传递的示例代码是指使用 Spring Framework 来整合 RabbitMQ 消息队列系统,以实现高效、可靠的消息传递机制。在这篇文章中,我们将...
spring使用logback的扩展,使用起来非常方便。在web.xml中配置: <param-name>logbackConfigLocation <param-value>/WEB-INF/conf/logback.xml <listener-class>ch.qos.logback.ext.spring.web....
- `spring001` 文件夹可能包含了其他基础或特定场景下的 Spring 使用示例,例如 MVC、数据访问对象(DAO)模式、事务管理等。 通过这些示例,学习者可以更直观地了解 Spring 框架的核心特性,包括 AOP 在实际问题...
spring在英文里有春天、弹簧、...Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...
它包含了`JavaMailSender`接口和`JavaMailSenderImpl`实现,这是Spring使用JavaMail API发送邮件的基础。 3. **java-mail**: JavaMail API是一个用于处理邮件的开源库,包括SMTP、POP3、IMAP等协议。在Spring中,...
9.2.5 Spring使用ThreadLocal解决线程安全问题 9.3 Spring对事务管理的支持 9.3.1 事务管理关键抽象 9.3.2 Spring的事务管理器实现类 9.3.3 事务同步管理器 9.3.4 事务传播行为 9.4 编程式的事务管理 9.5 使用XML...
《Spring框架下Logback的使用与替换Log4j教程》 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行...实践过程中,务必参照提供的`Spring使用logback代替log4j.txt`文件,以便更好地理解和应用。