更加简单的存储Bean对象

Spring框架中的五大类注解详解
文章介绍了Spring框架中常见的五大类注解——@Controller、@Service、@Repository、@Component和@Configuration的作用,以及它们在项目中的职责。@Controller用于控制器,处理用户请求;@Service协调业务逻辑;@Repository处理数据库交互;@Component标记通用组件;@Configuration表示配置类。文章还提到了使用注解前的XML配置以及bean的命名规则,并强调了component-scan包下注解的重要性。

1.添加类注解存储Bean对象(五大类)

        @Controller:控制器,验证用户请求数据的正确性;(安保系统)

        @Service:服务,编排和调度具体执行方法的;(客服中心)

        @Repository:持久层,和数据库进行交互的;(执行者)= DAO(Data Access Object)

        @Component:组件,工具类

        @Configuration:配置项,项目中的一些配置

使用注解之前的前置工作:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <content:component-scan base-package="com.java.demo"></content:component-scan>
</beans>

 

conten是否可以和bean混用?  可以

 

五大类注解可以不在component-scan包下码? 不可以

在component-scan下的所有子包的类(包不同名),只要加了五大类注解,就能存储到Spring中;

即使在component-scan包下,没有加五大类注解,也不可以运行;

五大类注解之间的关系:其他四个都是Component的子类,都是Component的扩展;

 

为什么需要五大类注解:

就是为了让用户看到注解后,望文生义,知道当前类的用途;

bean命名规则

 

 2.方法注解@Bean

     

### 在IT场景中使用Bean对象进行封装的JavaSpring示例 在IT开发中,Bean对象是一种常见的设计模式,用于封装数据和行为。以下详细说明如何在JavaSpring框架中使用Bean对象进行封装。 #### Java中的Bean对象封装 JavaBeans 是一种符合特定规范的Java类,通常具有无参构造函数、私有属性以及对应的getter和setter方法[^1]。以下是一个简单JavaBeans示例: ```java import java.io.Serializable; public class PersonBean implements Serializable { private String name; private int age; public PersonBean() { // 无参构造方法 } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 上述代码定义了一个`PersonBean`类,该类实现了`Serializable`接口,以便支持序列化操作。通过getter和setter方法,可以安全地访问和修改对象的属性[^1]。 #### Spring中的Bean对象封装 在Spring框架中,Bean是由Spring容器管理的对象。可以通过注解如`@Component`、`@Service`、`@Controller`等将普通Java类注册为Spring Bean[^2]。以下是一个Spring Bean的示例: ```java import org.springframework.stereotype.Component; @Component public class PersonService { private String name; private int age; public PersonService() { // 无参构造方法 } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void displayInfo() { System.out.println("Name: " + name + ", Age: " + age); } } ``` 在这个例子中,`PersonService`类被标记为`@Component`,表示它是一个Spring BeanSpring容器会自动扫描并实例化此类,使其可用于依赖注入。 #### 使用注解读取和存储Bean对象Spring中,可以通过`@Bean`注解定义和配置Bean对象,并通过`@Autowired`或`@Resource`实现依赖注入[^3]。以下是一个使用`@Bean`注解的示例: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public PersonService personService() { PersonService personService = new PersonService(); personService.setName("John Doe"); personService.setAge(30); return personService; } } ``` 通过上述配置,`personService`方法返回的`PersonService`实例会被注册为Spring容器中的一个Bean。可以在其他组件中通过依赖注入获取该Bean。 #### 将Java对象转换为Map结构 有时需要将Java对象转换为Map结构以简化数据处理。可以使用Apache Commons BeanUtils库完成这一任务[^4]。以下是一个示例: ```java import org.apache.commons.beanutils.BeanMap; public class BeanToMapExample { public static void main(String[] args) { PersonBean person = new PersonBean(); person.setName("John Doe"); person.setAge(30); BeanMap beanMap = new BeanMap(person); String name = (String) beanMap.get("name"); int age = (int) beanMap.get("age"); System.out.println("Name: " + name); System.out.println("Age: " + age); } } ``` 上述代码展示了如何将`PersonBean`对象转换为`BeanMap`,并通过键值对的方式访问其属性[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值