開網(wǎng)站買自己做的東西什么是淘寶seo
1.@Qualifier:通常與@Autowired搭配使用,通過指定具體的beanName來注入相應(yīng)的bean
當(dāng)容器中有多個(gè)類型相同的Bean時(shí),可以使用@Qualifier注解來指定需要注入的Bean。@Qualifier注解可以用于字段、方法參數(shù)、構(gòu)造函數(shù)參數(shù)等位置
@Service
public class UserService {@Autowired@Qualifier("userServiceImpl")private UserMapper userMapper ;public User getUserById(Int id) {return userRepository.findById(id).orElse(null);}// Other business methods...
}
上面的示例中,@Qualifier注解用于指定需要注入的Bean的名稱為“userServiceImpl”。需要注意的是,@Qualifier注解通常與@Autowired或@Inject注解一起使用,用于在多個(gè)匹配的Bean中進(jìn)行選擇。
如果沒有指定@Qualifier注解,Spring框架將使用默認(rèn)的自動(dòng)裝配策略,即按照類型進(jìn)行匹配。如果有多個(gè)類型相同的Bean,Spring框架將拋出異常。
因此,使用@Qualifier注解可以有效地解決這個(gè)問題。
2.@Bean是一個(gè)注解,用于告訴 Spring 框架將標(biāo)注的方法返回的對(duì)象注冊(cè)為一個(gè) Bean(組件)
具體的作用:
①.使用?@Bean
?注解可以將方法返回的對(duì)象注冊(cè)為一個(gè) Bean,并且該 Bean 會(huì)被 Spring 容器管理
②.依賴注入:當(dāng)其他組件需要使用這個(gè) Bean 時(shí),Spring 框架會(huì)自動(dòng)將該 Bean 注入到相應(yīng)的位置,實(shí)現(xiàn)依賴注入
③.自定義組件配置:通過?@Bean
?注解可以對(duì) Bean 進(jìn)行自定義配置,例如設(shè)置屬性值、初始化方法、銷毀方法等
④.替代 XML 配置:需要通過 XML 配置文件來定義和配置 Bean,而現(xiàn)在通過?@Bean
?注解可以在 Java 代碼中實(shí)現(xiàn)同樣的功能,避免了繁瑣的 XML 配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloud.bus.auto.mapper.IUserMapper"><resultMap id="BaseResultMap" type="com.cloud.bus.common.entity.TUser"><id column="ID" jdbcType="VARCHAR" property="id" /><result column="ACCT_SCOPE" jdbcType="VARCHAR" property="acctScope" /><result column="CONFIG_STATUS" jdbcType="VARCHAR" property="configStatus" /><result column="IS_MERGE" jdbcType="VARCHAR" property="isMerge" /><result column="LAST_ACCT_DATE" jdbcType="DATE" property="lastAcctDate" /><result column="HAPPENED_YEAR" jdbcType="VARCHAR" property="happenedYear" /></resultMap><sql id="Base_Column_List">ID, HOSPITAL_ID, ACCT_SCOPE, CONFIG_STATUS, IS_MERGE, SCHEDULE_ACCT_DATE,LAST_ACCT_DATE,LAST_OPERATE_DATE,HAPPENED_YEAR</sql><update id="updateUser">update T_User<set><if test="hospitalId != null and hospitalId != ''">HOSPITAL_ID = #{hospitalId,jdbcType=VARCHAR},</if>//.......<if test="runAcctDate != null and runAcctDate != ''">RUN_ACCT_DATE = #{runAcctDate,jdbcType=VARCHAR},</if></set>where ID = #{id,jdbcType=VARCHAR}</update><select id="queryUserList" resultType="com.cloud.bus.common.vo.UserVO">select<include refid="Base_Column_List"/>from T_User<include refid="Example_Where_Clause"/></select><sql id="Example_Where_Clause"><trim prefix="where" prefixOverrides="and|or"><if test="hospitalId != null and hospitalId != ''">and HOSPITAL_ID = #{hospitalId,jdbcType=VARCHAR}</if><if test="operatorType != null and operatorType != ''">and OPERATOR_TYPE = #{operatorType,jdbcType=VARCHAR}</if><if test="acctScope != null and acctScope != ''">and ACCT_SCOPE = #{acctScope,jdbcType=VARCHAR}</if> </trim></sql>
</mapper>
3.@Configuration
?注解的主要作用是指示Spring容器,該類是一個(gè)配置類,它包含了一個(gè)或多個(gè)Spring容器所需的bean定義。
這意味著@Configuration
?注解用于定義Spring應(yīng)用程序的配置信息,通常在Java類中進(jìn)行配置而不是在XML文件中
@Configuration
?注解的作用包括
①.定義Bean:在@Configuration
?注解的類中,您可以使用@Bean
?注解來定義一個(gè)或多個(gè)bean。這些bean將被Spring容器托管,可以在應(yīng)用程序中使用
②.組織配置:@Configuration
?注解使您能夠?qū)?yīng)用程序的配置集中到一個(gè)或多個(gè)Java類中,以便更好地組織和管理配置信息。這有助于提高代碼的可維護(hù)性和可讀性
③.替代XML配置:@Configuration
?注解可以用來替代傳統(tǒng)的XML配置文件。通過使用Java類來配置應(yīng)用程序,您可以獲得更強(qiáng)的類型安全性,并且可以利用Java的特性,如條件化配置、注解等
④.支持自動(dòng)裝配:@Configuration 注解通常與@Autowired 注解一起使用,以實(shí)現(xiàn)自動(dòng)裝配(依賴注入)。當(dāng)一個(gè)配置類被Spring容器掃描到時(shí),其中的@Bean 方法將被調(diào)用,創(chuàng)建bean實(shí)例,并自動(dòng)裝配它們的依賴關(guān)系。
⑤.集成外部配置:通過@Configuration 注解,您可以將外部配置(如屬性文件或環(huán)境變量)與應(yīng)用程序的配置進(jìn)行集成。Spring提供了@PropertySource 注解來加載外部屬性文件,以及@Value 注解來注入屬性值
@Configuration
public class ApplicationConfig {@Beanpublic UserService userService() {return new UserServiceImpl();}
}