Spring 配置方案(注解的使用)

这篇具有很好参考价值的文章主要介绍了Spring 配置方案(注解的使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring 配置方案(注解的使用)

一、使用注解+xml配置文件

替换:

<bean id="" class="" init-method="" destroy-method="" scope="" autowire="">
    <property></property>
    <constructor-arg></constructor-arg>
</bean>

1、注入类

(1)@Component
1、含义

将注解所修饰的类,注入spring容器

2、位置

使用在类的前面

3、语法

@Component(value = “id”)

如果省略 value = “id” 默认注入的id为类的名称且首字母小写

4、注意

不可以单独使用

在xml中配合 <context:component-scan base-package=“”></context:component-scan> 使用

(2)@Repostory 注入数据访问层
(3)@Service 注入业务层
(5)@Controller 注入控制层

以上三个注解与 Component 注解语法一致,主要用在三层架构中

2、注入数据

(1)@Value()
1、含义

向属性注入基本类型与String

2、语法
  • @Value(“数据”) ----------> 直接把数据写死
  • @Value(“${key}”) ---------> 使用键值对进行传值,值需要在一个资源文件中获取
  • 在xml配置文件中加入以下标签,加载资源文件
<context:property-placeholder location="资源文件所在路径"></context:property-placeholder>
3、位置

属性

(2)Autowired
1、含义

通过“set”方法【set 方法可以省略】,按照==“类型”==自动装配,如果类型冲突,则按照“名称”转配,即属性名装配

2、位置

属性

3、注意
  1. 按类型装配如果冲突切换为名称装配
  2. 按类型装配如果冲突切换为名称装配,如果名称也没有则会抛异常 NoUniqueBeanDefinitionException
  3. 按类型装配没一个匹配 NoSuchBeanDefinitionException

说明:一般@Component(或@Repostory @Service @Controller )、Autowired 三个一起使用

  • @Component(或@Repostory @Service @Controller )负责声明需要加入spring容器的类,
  • 配合扫描器在xml中配合 <context:component-scan base-package=“”></context:component-scan> 使用,用于扫描整个包路径中需要加入spring容器的类,并将其加入spring容器
  • Autowired 在使用上述注解加入容器成功后,如果需要使用容器创建,则需要配合Autowired注解自动按类型装配,才可成功创建对象

3、其他注解

1、@Primary
  • 含义

在类型装配冲突下,此注解所修饰的类作为首选项

  • 位置

  • 注意

不能单独使用

2、@Qualifier
  • 含义

按照名称装配

  • 位置

属性

  • 注意

不能单独使用

3、@Resource
  • 含义

按照名称装配

  • 位置

属性

  • 注意

单独使用文章来源地址https://www.toymoban.com/news/detail-662895.html

4、@Scope
  • 含义

作用域 single

  • 位置

  • 注意

不能单独使用

  • 举例
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
5、@PreDestroy
  • 含义

替换destory-method 销毁

  • 位置

方法

  • 注意

单独用

6、@PostConstruct
  • 含义

替换 init-method 初始化

  • 位置

方法

  • 注意

单独使用

二、注解+JavaConfig配置类

1、@Configuration

  • 含义:配置类
  • 注意:AnnotationConfigApplicationContext
  • 用在定义类之前,声明此类为配置类

2、@ComponentScan

  • 替换:<context:component-scan base-package=“”></context:component-scan>
  • 相当于扫描器
  • 用在需要注入到spring容器中的类

3、@PropertySource()

  • 替换:<context:property-placeholder location=“”></context:property-placeholder>
  • 加载资源文件

4、@Import()

  • 含义:导入其他配置类
  • 需要传入指定配置类的class对象
@Import(DataSourceConfig.class)

5、@Bean

  • 含义:注入类;方法返回值为class 方法名称为id
  • 位置:修饰方法
  • 注意:单独使用,无需扫描

到了这里,关于Spring 配置方案(注解的使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决使用@Field注解配置分词器失效问题(Spring Data Elasticsearch)

    问题复现:插入数据时,实体类配置的@Field注解没有生效 实体类: 查看索引库,发现它使用动态映射,并没有使用静态映射: 解决方案:在插入数据时,提前创建索引库和映射。

    2024年02月16日
    浏览(35)
  • 【Spring】使用@Bean和@Import注解配置Bean,与Bean的实例化

    目录 1、bean是什么 2、配置bean 2.1、使用@Bean注解配置Bean 2.2、使用@Import注解配置Bean  3、实例化Bean         在 Spring 中,Bean 是指由 Spring 容器管理的对象。Spring IOC 容器负责创建、配置和管理这些 Bean 对象的生命周期。Spring IOC 容器会管理应用程序中的组件,并通过依赖注

    2024年04月15日
    浏览(34)
  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

    学习视频:【编程不良人】2021年SpringBoot最新最全教程 在main创建webapp,然后创建index.jsp进行测试,在访问之前需要进行一个设置,否则springboot是找不到jsp页面的 修改jsp无需重启应用 数据库访问框架:hibernate、jpa、mybatis【主流】 SpringBoot(微框架) = Spring(工厂) + SpringMV

    2024年02月05日
    浏览(52)
  • Spring的纯注解配置

    复制SSM整合项目这个项目 我们发现,之所以我们现在离不开xml配置文件,是因为我们有一处很关键的配置,如果他要也能用注解配置,那么我们就可以脱离xml文件了: 1.2.1.jdbc配置 1.2.2.mybatis配置 1.2.3.transactional配置 1.2.4.service配置 1.2.5.springmvc配置 1.2.6.servlet配置 作用: 用于

    2024年01月22日
    浏览(41)
  • Java、Java EE、Spring和Spring Boot核心注解

    文章迁移至个人博客 此页面包含常用 Java 、 Java EE 、 Spring 、 Spring Boot 、 JPA 常用注解的一站式说明。 @Component注解 @Component 注解表明被注解的类是一个“spring bean/组件”。@Component注解告诉Spring容器自动创建Spring bean。 @Autowired注解 @Autowired 注解用于自动注入 bean。@Autowired 注

    2024年02月15日
    浏览(50)
  • Spring——基于注解的AOP配置

    1.1.pom.xml 1.2.dao 1.3.service 1.4.applicationContext.xml 1.5.测试 2.1.applicationContext.xml 2.2.AOP配置 常用注解 @Aspect:把当前类声明为切面类 @Before:前置通知,可以指定切入点表达式 @AfterReturning:后置【try】通知,可以指定切入点表达式 @AfterThrowing:异常【catch】通知,可以指定切入点表达

    2024年01月22日
    浏览(38)
  • Spring MVC 三 :基于注解配置

    Servlet3.0 Servlet3.0是基于注解配置的理论基础。 Servlet3.0引入了基于注解配置Servlet的规范,提出了可拔插的ServletContext初始化方式,引入了一个叫ServletContainerInitializer的接口。 An instance of the ServletContainerInitializer is looked up via the jar services API by the container at container / application sta

    2024年02月11日
    浏览(39)
  • Spring系列三:基于注解配置bean

    上文中, 我们学习到了 Spring系列二:基于XML配置bean 接下来我们学习, 通过注解配置bean 基于注解的方式配置 bean , 主要是项目开发中的组件, 比如 Controller, Service 和 Dao. 组件注解的形式有 1. @Component 表示当前注解标识的是一个组件 2. @Controller 表示当前注解标识的是一个控制器

    2024年02月13日
    浏览(40)
  • 警告:未配置spring boot 配置注解处理器

    前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 问题 我再使用@ConfigurationProperties(prefix = “redisson”)去加载配置文件中的属性的时候,发现idea有个警告 并且配置文件里面还有警告 虽然项目能够正常运行,可

    2024年01月19日
    浏览(43)
  • Spring FrameWork从入门到NB -基于注解配置 & @Autowired注解

    基于注解的配置 其实前面我们已经在基于注解配置了,这是由于个人比较喜欢基于注解配置。 Spring官方文档提过一个问题:基于注解配置要好于基于xml的配置吗?其实各有千秋,根据个人喜好吧。重要的是Spring可以支持基于注解配置,也可以支持基于xml配置文件配置,也可

    2024年02月10日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包