【补充】spring的el表达式、组件扫描的步骤、组件装配相关标注、Spring D等

本文介绍了Spring中的依赖注入(DI)实现方式,并展示了如何在配置文件中进行对象注入。接着讲解了EL表达式,Properties对象的配置,以及组件扫描的概念和实现步骤,包括@Component、@Repository、@Service、@Controller等标注的使用。此外,还讨论了@Autowired和@Resource标注在组件装配中的作用,以及JdbcTemplate在Spring DAO层的工作原理和使用方法。

文章目录

原版笔记

  1. 什么是DI
  2. Spring 实现DI 的三种方式 并写出配置文件中的关键代码
  3. 写出下面的对象 在Spring 的配置文件中对应的注入代码
    public class MyMsg{
    private String title;
    private int count;
    private List friends;
    private Properties phones;
    }
    给title 注入 好好学习 count 注入 12345 friends 中注入 小明 小新 小泽
    phones 中注入 xiaoming 13999876543 xiaoxin 13777658899

  1. 装配一个对象 dataSource 对象

  2. Spring 中 EL 表达式
    只要把之前EL表达式中的 $ 换成 #
    Properties 对象的单独定义 以及 使用 location引用 properties文件

  3. 组件扫描技术
    3.1 简介
    基于注解(标注) 一个技术 这个技术的出现可极大的简化xml配置文件编写
    3.2 四个组件扫描的标注
    @Component 通用组件标记
    @Repository 持久化层组件
    @Service 业务逻辑层组件
    @Controller 控制层组件
    3.3 组件扫描的实现步骤
    1.建立项目 拷贝 ioc 和 aop jar 包到 lib 下
    2.拷贝配置文件 到 src 下 并在配置文件中开启组件扫描
    <context:component-scan base-package=“包名结构” />
    3.在相应类上 打对应的标注
    4.从Spring 容器获取对应的组件
    默认以类名首字母小写为标准获取组件
    当然也可以指定组件放入容器中的标识
    3.4 写一个BankAccountDAO 接口 里面定义一个根据卡号
    获取账户信息的方法 。然后写一个实现类 对这个方法做一个伪实现
    最后把实现类对象 以标注的形式 加载到Spring 容器中。最后通过Spring
    容器获取实现类对象 并调用根据卡号获取对象的方法 。
    @Service
    public class BankAccountService{

    }
    @Service(value=“bankService”)
    public class BankAccountService{

    }
    @Service(“bankService”)
    public class BankAccountService{

    }
    3.5 和组件装配有关的标注
    @Autowired 可以加在字段 或者 setter 方法 或者 构造函数上
    首先根据类型加载对应的组件 类型找不到则根据名字查找
    这个标注也可以指定名字 进行查找 如果对应的名字找不到 则直接停止
    但是得通过 @Qualifier(value=“bankAccountDao”)
    @Autowired(required=true) 这是默认 则必须找到对应的组件
    没有程序直接崩溃 也可以指定成false 找不多对应的组件 忽略

    @Resource 可以加在字段 或者 setter 方法 但这通常就够用了
    这个标注 它不是Spring框架的 它java中的标准标注 但可以和Spring
    无缝结合。
    优先按照名字 查找 如果找不到 则按照类型查找。
    当然也可以直接指定名字进行查找。注意指定名字必须使用 name 如
    @Resource(name=“bankAccountDao”)
    3.6 其它标注
    @PostConstruct 初始化方法的标注
    @PreDestroy 对象销毁之前调用的方法
    @Value 可以使用Spring EL表达式注入值

  4. Spring DAO
    4.1 Spring DAO 所做的工作
    对Jdbc 的操作进行封装,简化了jdbc的操作
    对jdbc的事务 进行AOP 模式的封装 简化了事务的管理和操作
    对数据库访问中的异常 由原来的检查异常 封装成了 继承 RunTimeException
    的非检查异常 DataAccessException。
    4.2 JdbcTemplate
    这个类负责 加载驱动 获取连接 获取执行环境 和 释放资源
    我们只需要关心 sql的编写 和 数据的处理
    4.3 如何获取JdbcTemplate
    最直接的是 继承 JdbcDaoSupport这个类
    如果不继承JdbcDaoSupport 则需要自己注入模板
    4.4 使用 继承的方式 来完成 ------ 查询产品表中的数据量
    1.需要准备一张表 表中放入数据 (13 ---- xdl_product)
    2.写一个产品的接口 接口中定义一个查询产品数据的方法
    3.先导入ioc AOP dao 对应的jar包写一个接口的实现类
    继承 JdbcDaoSupport 并实现接口 这里需要注入一个 dataSource
    4.使用模板 和 模板对应的方法 完成数据量的查询
    5.测试dao实现类 看是否能获取到产品数量

### 回答1: Spring Configuration注解是一种用于配置Spring应用程序的注解方式。它提供了一种简化配置的方式,可以通过注解来声明和管理Spring Bean,以及配置和解决Bean之间的依赖关系。 Spring提供了多个@Configuration注解相关的注解,包括@ComponentScan、@EnableAutoConfiguration和@Import等。 @ComponentScan注解用于自动扫描指定的包路径,将标有@Component、@Service、@Repository等注解的类注册为Spring Bean。它还可以通过指定excludeFilters和includeFilters来控制扫描过程中的过滤规则。 @EnableAutoConfiguration注解用于启用Spring Boot自动配置机制,它会根据classpath中的jar包和类路径来自动配置Spring应用程序所需的Bean和环境。它基于@SpringBootApplication注解,并通过@SpringBootApplication注解的派生性质来实现。 @Import注解用于将其他的配置类导入到当前配置类中,从而实现配置类的组合和复用。被导入的配置类可以是普通的@Configuration注解标注的类,也可以是带有@Bean注解的方法所在的类。 除了上述几个主要的注解外,Spring Configuration注解还包括了@Bean注解用于声明一个方法可以生成一个Spring Bean,@PropertySource注解用于加载外部的配置文件,@Value注解用于注入配置文件中的属性值等。 总的来说,Spring Configuration注解提供了一种简洁而灵活的方式来配置和管理Spring应用程序,可以通过注解的方式来声明和注册Spring Bean,实现依赖注入,同时还可以通过其他注解来加载配置文件和注入属性值,进一步提高应用程序的可维护性和扩展性。 ### 回答2: Spring注解配置是指使用注解来配置Spring应用程序的一种方式。在过去,Spring配置主要使用XML文件进行,但自从Spring 2.5版本推出以来,通过注解配置的方式逐渐成为主流。 使用注解配置可以简化开发人员的工作,使配置更加集中和易于管理。在使用注解配置时,只需在需要配置的类或方法上添加特定的注解,就能实现相应的配置。 常见的Spring注解配置包括以下几类: 1. @Configuration: 它是一个类级别的注解,用于标记一个类作为配置类。配置类中的方法通过@Bean注解来声明一个 bean 对象。 2. @ComponentScan: 它是一个类级别的注解,用于自动扫描并注册Spring bean。在注解中可以指定要扫描的包路径或类路径,Spring会自动扫描该路径下的所有类,并将其注册为Spring bean。 3. @Autowired: 它是一个字段级别的注解,用于自动装配Spring bean。当一个类中需要依赖其他类的实例时,使用该注解可以让Spring自动将依赖对象注入到类中。 4. @Value: 它是一个字段级别的注解,用于注入外部配置的值。通过该注解可以将配置文件中的值注入到类的字段中。 通过使用Spring注解配置,可以更加方便地管理和维护Spring应用程序。它减少了繁琐的XML配置,使开发人员能够更专注于业务逻辑的实现。同时,注解配置也使代码更加简洁和易于阅读。但需要注意的是,过度使用注解可能会导致代码可读性下降,所以在使用注解时要慎重选择合适的场景。 ### 回答3: Spring Configuration注解是一种用于配置和管理Spring应用程序的方式。它可以帮助我们简化配置,提高开发效率。 Spring Configuration注解主要包括以下几种: 1. @Configuration:将类标记为配置类,用于替代传统的XML配置文件。在配置类中,我们可以使用其他注解来定义Bean和配置项。 2. @ComponentScan:启用组件扫描,可以自动扫描并注册带有@Component注解的类作为Bean。可以通过指定扫描路径来限制扫描的范围。 3. @Bean:用于定义Bean,在被@Configuration注解标记的类中的方法上使用。方法返回的对象将作为Bean注册到Spring容器中,可以通过依赖注入的方式使用。 4. @Autowired:用于进行依赖注入,将被注解的字段、构造方法或者Setter方法的参数与容器中的Bean进行关联。它可以根据类型进行自动匹配或者通过@Qualifier注解根据名称进行匹配。 5. @Value:用于将配置项注入到Bean中,可以用来注入配置文件中的值,也可以用来注入通过Spring EL表达式计算的值。 除了以上的注解,Spring Configuration还提供了一些其他注解,如@Profile用于定义不同环境下的配置,@Import用于导入其他配置类,@PropertySource用于指定配置文件等。 通过使用Spring Configuration注解,我们可以摆脱繁琐的XML配置文件,更加简洁地配置和管理Spring应用程序。它使得代码结构更加清晰,便于维护和扩展。同时,通过注解方式配置的应用程序更加便于测试和集成,提高了整体开发效率。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值