Java学习日记7(Spring注解的学习)

目录

一,spring的原始注解

(1)第一组(@Component,@Controllert,@Service和@Repository)

(2)第二组。(@Autowired,@Resource和@Qualifier)

(3)第三组(@Value,@Scope,@PostConstruct和@PreDestroy)

二,spring的新注解

1,@Configuration

2,@Bean

3,@PropertySource

4,@ComponentScan

5,@Import


Spring的注解开发

Spring是轻代码而重配置的框架,配置比较繁琐,影响开发效率,注解开发可以简化配置文件,提高开发效率为springboot打下基础。

一,spring的原始注解

(1)第一组(@Component,@Controllert,@Service和@Repository)

 主要代替<Bean>的配置(手工创建的需要实例化的类,因为要在类中添加注解)

先添加组件扫描,引入cintext的命名空间。

@Component(使用在类上用于实例化bean)

用于代替
<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"></bean>
以下的都一样的替换法,明确是那一层用用哪个。

@Controller(使用在web层类上用于实例化bean)

@Service(使用在service层类上用于实例化bean)

@Repository(使用在dao层类上用于实例化bean)

(2)第二组。(@Autowired,@Resource和@Qualifier)

@Autowired(使用在在字段上用于根据类型依赖注入)

@Qualifier(结合@ Autowired一起使用用于根据id进行依赖注入)

在要注入信息的目标代码上添加注解。

@Resource(相当于上面两个的结合,按照id进行注入)

(3)第三组(@Value,@Scope,@PostConstruct和@PreDestroy)

@Value(注入普通属性,使用在要注入的数据上)

再用其他测试代码调用这个bean时就有注入值在里面

@Scope(标注bean的作用范围)

@PostConstruct(使用在方法上标注方法是bean的初始化方法)

@PreDestroy(使用在方法上标注方法是bean的销毁方法)

二,spring的新注解

用于解决原始注解不能注解的部分

1,@Configuration

 在类里写这个注解,表示这个类是核心配置类

以后找spring容器就不在applicationContext.xml文件中找了,就去这个核心配置类中找。

2,@Bean

非自定义的bean的配置

先创建这个bean的对象,然后可以set配置值,再通过注解上传到spring容器中,

属于间接上传,@conponent属于直接上传。

找spring容器就不在applicationContext.xml文件中找了,就去这个核心配置类中找。

用annotation这个api。

3,@PropertySource

加载porperties配置文件(里面装的键值对用于解耦合)

代替
<context:property-placeholder location="classpath:jdbc.properties"/>

然后再@Bean的对象上传到spring容器前,先用@Value注入配置文件中的键值,再上传。这样就可以解耦合了。

为了避免耦合。

4,@ComponentScan

组件扫描的配置(用于扫描那些类上有注解信息)

代替<context:component-scan base-package="com.itheima"/>

5,@Import

引入其他配置文件 (<import>标签)

代替<import resource="applicationContext.xml"/>

@Import({1.class,2.class,3.class})

但核心配置类只能有一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您需要使用JAXB(Java Architecture for XML Binding)来将XML数据绑定到Java对象。 JAXB包含在Java SE中,因此您无需添加任何其他依赖。 您需要创建一个Java类,并根据XML数据中的元素和属性创建字段。然后,使用JAXB注解将字段与XML元素和属性映射。 例如,假设您有以下XML数据: ``` <person> <name>John</name> <age>30</age> </person> ``` 您可以使用以下Java类来表示该XML数据: ``` import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "person") public class Person { private String name; private int age; @XmlElement(name = "name") public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement(name = "age") public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 然后,您可以使用JAXB的Unmarshaller类将XML数据转换为Java对象: ``` import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; String xml = "<person><name>John</name><age>30</age></person>"; JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Person person = (Person) unmarshaller.unmarshal(new StringReader(xml)); System.out.println(person.getName()); // prints "John" System.out.println(person.getAge()); // prints 30 ``` 此外,您还可以使用JAXB的Marshaller ### 回答2: 使用Java可以用以下方式生成Spring Boot接收XML数据的实体类: 1. 首先,需要解析XML数据。可以使用Java内置的XML解析库,比如DOM或SAX解析器,来解析XML数据。通过解析器,可以将XML数据转换为Java对象。 2. 创建一个Java类来表示XML数据的实体类。这个类应该包含与XML数据中的元素和属性相对应的属性和方法。每个元素和属性都应该有对应的Java字段和setter/getter方法。 3. 在Java类中添加注解来指定XML元素的名称和属性。Spring Boot使用Jackson库来处理XML数据,可以使用Jackson的注解来指定XML元素和属性的名称。 4. 将XML数据解析为Java对象。根据XML数据的结构,可以使用DOM或SAX解析器来遍历XML节点,并将节点的值设置到相应的Java对象中。 5. 使用Java类来接收XML数据。在Spring Boot中,可以使用@RequestParam注解来接收通过POST请求发送的XML数据。在方法参数中,使用Java类来接收XML数据。 6. 使用Java类来处理XML数据。接收到XML数据后,可以通过调用Java类的方法来处理数据,比如解析XML数据,获取元素值,进行逻辑处理等。 7. 返回处理后的结果。根据业务需求,可以将处理后的结果转换为XML格式,并通过Spring Boot的@ResponseBody注解来将结果返回给客户端。 通过以上步骤,就可以使用Java完成根据XML数据生成Spring Boot接收XML数据的实体类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值