当前位置: 首页 > news >正文

康定网站建设工作室淄博专业网站建设

康定网站建设工作室,淄博专业网站建设,移动网站开发培训,响应式网站代码规范前言 前面我们管理 bean 都是在 xml 文件中去管理,本次我们将介绍如何在 Java 配置类中去管理 bean。 注解结合 Java 配置类是一种常见的 Spring 注入 Bean 的方式。通常情况下,开发人员会使用 Java Config 来定义应用程序的配置信息,而在 …

前言

前面我们管理 bean 都是在 xml 文件中去管理,本次我们将介绍如何在 Java 配置类中去管理 bean。

注解结合 Java 配置类是一种常见的 Spring 注入 Bean 的方式。通常情况下,开发人员会使用 Java Config 来定义应用程序的配置信息,而在 Java Config 中使用注解来声明和注入 Bean。

@Configuration@ComponentScan@Bean 是 Spring Framework 中的常用注解,用于配置和创建 Bean。

  • @Configuration 注解标识一个类为配置类,相当于以前的 XML 配置文件。通常在该类中定义了一些用于创建和组装 Bean 的方法。

  • @ComponentScan 注解用于自动扫描指定包及其子包中的组件(包括注解为 @Component@Service@Repository@Controller 等的类),并注册为 Spring 上下文中的 Bean。

  • @Bean 注解用于声明一个方法,该方法将返回一个对象,该对象将被注册为 Spring 上下文中的 Bean。@Bean 注解可以用在 @Configuration 类中的方法上,也可以用在普通的 @Component 类中的方法上。

 一、开始学习

1、新建项目,结构如下

2、添加 spring 依赖
 <!-- spring 的核心依赖 --><dependencies><!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.23</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.4.5</version></dependency></dependencies>
 3、在 service 包下新建一个 UserService 接口,在 impl 包下新建一个 UserServiceImpl 实现类

UserService 接口

public interface UserService {void add();}

UserServiceImpl 实现类

@Slf4j
public class UserServiceImpl implements UserService {@Overridepublic void add() {log.info("添加用户");}
}
4、在 controller 包下新建一个 UserController 类
@RequiredArgsConstructor
public class UserController {/*** 通过构造方法注入 UserService*/private final UserService userService;public void add() {userService.add();}}
5、在 config 包下新建一个 AppConfig 配置类
/*** @Date 2023-10-07* @Author qiu* <p>* spring 提倡使用注解和配置类来完成 bean 的装配,* 而配置类就是全面取代 xml 配置文件的一种方式*/@Configuration
@ComponentScan(basePackages = "edu.nf.ch13")
public class AppConfig {/*** * @Configuration注解:标识一个类为合法的配置类* ** * @ComponentScan注解:用于扫描指定的包,装配相关的 bean* * 等价于 xml 中的扫描* ** * @Respository注解来装配 bean 以外,还可以使用* ** * @Bean 注解在配置类中装配 Bean,这种方式很类似* * 在 xml 中配置一个个的 <bean id="xxx"/>* * 用了 @Bean 注解后默认标注的方法名就是 Bean 的 id* <p>* 还可以通过 name 属性指定 bean 的别名** @return*/@Beanpublic UserService userService() {return new UserServiceImpl();}/*** 当需要注入其他 bean 的时候,有两种方式* 方式一:通过参数实现注入* 方式二:通过调用 bean 方法来实现注入** @Scope:还可以声明在 Bean 方法上来设置 Bean 的作用域* @return*/@Bean@Scope("prototype")public UserController userController() {return new UserController(userService());}}

 这是一个使用 Java 配置类来装配 Spring Bean 的示例代码。

在这个示例中,@Configuration 注解表示 AppConfig 类是一个合法的配置类。@ComponentScan 注解用于扫描指定包中的组件,并将其装配为 Spring Bean。

  1. userService() 方法使用 @Bean 注解来声明一个名为 "userService" 的 Spring Bean,并将其返回。可以看到,在这里我们不需要编写 XML 配置文件,仅仅通过 Java 代码就可以完成 Bean 的装配。
  2. userController() 方法也使用 @Bean 注解来声明一个名为 "userController" 的 Spring Bean,并注入 "userService" Bean。在这个方法中,我们可以使用参数来实现依赖注入,也可以通过调用其他 Bean 方法来实现依赖注入。
  3. 此外,我们还使用 @Scope 注解来设置 UserController Bean 的作用域为原型(prototype),以确保每次调用 userController() 方法都会创建一个新的实例。

总体来说,使用 Java 配置类来装配 Spring Bean 比起 XML 配置文件更加直观、方便,也更利于代码维护和易读性。

 注意了!!!这个配置类就已经代替了 xml 文件,所以就不需要再去写 xml 文件了。还有我们之前都是通过使用特定注解(@Seivice、@Controller)去声明一个 Bena,现在也不需要写了,因为在配置文件中使用了 @Bean 去声明,大家自行选择使用。

6、测试
public class Main {public static void main(String[] args) {// 创建基于注解和配置类的容器工厂// 取代 ClassPathXmlApplicationContext// 构造方法指定配置类的 Class 对象ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);UserController bean = context.getBean(UserController.class);bean.add();}}

 这段代码展示了如何使用基于注解和配置类的 Spring 容器工厂。具体来说,主要包含以下几个步骤:

  1. 创建基于注解和配置类的容器工厂

使用 AnnotationConfigApplicationContext 类来创建一个基于注解和配置类的 Spring 容器工厂。通过将 AppConfig.class 作为参数传入构造方法,指定了配置类的 Class 对象。

  1. 获取 Bean

通过调用容器工厂的 getBean() 方法,传入需要获取的 Bean 的类型 UserController.class,从而获取到名为 "userController" 的 Spring Bean。

  1. 使用 Bean

得到 Bean 之后,即可进行相关操作,这里调用了 add() 方法。

相比于传统的 XML 配置方式,在基于注解和配置类的方式下,上述三个步骤都荟萃在 Main 类中,更加简单明了。同时,由于使用注解,在代码中对 Bean 及其依赖关系进行了直接定义和维护,因此可以更加灵活地进行配置和管理。

运行结果

 

二、使用注解结合Java配置类的好处

使用注解结合Java配置类的好处有以下几点:

  1. 清晰明了:使用注解和Java配置类可以将配置信息直接写在代码中,使得配置与逻辑代码更加紧密,易于理解和维护。不再需要繁琐的XML配置文件,整个配置过程集中在一个类中,便于查找和管理。

  2. 类型安全:注解和Java配置类提供了类型安全的配置方式。通过使用注解,可以在编译时检查类型错误,减少运行时异常。同时,Java配置类使用Java代码进行配置,可以利用IDE的自动补全和编译时检查,提高开发效率。

  3. 灵活性:使用注解和Java配置类可以更方便地进行配置的修改和扩展。在Java配置类中,可以轻松地添加、删除或修改Bean的配置,而不需要修改XML文件并重新部署应用程序。此外,通过使用条件注解、属性注解等高级特性,可以根据不同的条件和环境进行动态的配置。

  4. 更好的测试支持:使用注解和Java配置类可以更方便地进行单元测试和集成测试。在测试时,可以轻松地创建和配置需要的Bean,重写特定的Bean定义,以模拟不同的场景和条件。

  5. 注解丰富:Spring Framework提供了丰富的注解,如@Autowired@Component@Value等,可以用于自动装配依赖、声明Bean、注入属性等。这些注解使得配置和开发更加简洁和便捷。

综上所述,使用注解结合Java配置类能够提高代码的可读性、可维护性和灵活性,减少了配置的复杂性,并支持更好的测试和开发体验。因此,注解和Java配置类已成为Spring框架中推荐的配置方式。

那么对比于 xml 大家更喜欢哪一种方式呢?

三、gitee 案例

案例完整地址:https://gitee.com/qiu-feng1/spring-framework.git

http://www.yayakq.cn/news/525836/

相关文章:

  • 做网站营业执照经营范围怎么填写网页设计与网站建设报告书
  • 漂亮的设计类图片网站永嘉网站优化
  • 哪个网站可以做练习题网站换新域名
  • 学校网站的常规化建设学校网站建设情况报告
  • 什么软件做网站好属于网页制作工具
  • 杨凌企业网站建设根据网站集约化建设的要求
  • 网站后台如何添加新闻免费推广网站2022
  • 儿童教育网站怎么做有趣艺术家网站源码
  • 网站建设教案视频 wordpress
  • 滕州外贸网站建设wordpress怎么删除文章发布时间
  • 企业网站模板下载网站安全检测工具
  • 网站英文版怎么做小程序开发兼职的小知识点
  • 北京网站建设方案策划h5网页是什么意思
  • 还有河北城乡和住房建设厅网站吗用vs2008做的网站前台脚本是什么
  • 市体育局网站 两学一做精准营销模式
  • 做投资要关注哪些网站网易企业邮箱怎么撤回已发送邮件
  • 河南省建设人才信息网站广告联盟全自动赚钱系统
  • 深圳做网站哪家公司最好如何做x响应式网站
  • 做网站公司怎么选快速搭建网站的工具有哪些
  • 大连市平台网站投融资平台
  • 国内做外贸网站的有哪些郑州包装设计公司都有哪些
  • 潢川网站建设公司php招聘WordPress
  • 网站诊断分析报告模板及优化执行方案.doc龙华品牌网站制作
  • 网站模板安装教程购买网站建站
  • 为什么百度地图嵌入网站不显示怎么开通微信小程序卖东西
  • 中国城乡和住房建设部网站招远网站设计
  • 网站搭建软件有哪些做微景观的网站
  • 邢台做移动网站公司电话号码动漫制作专业学校前十名
  • 钓鱼网站在线下载少儿编程收费价目表
  • 深圳企业网站改版苏州大型网站建设