SpringBoot中常用注解

本文介绍了Spring Boot的常用注解。@PropertySource可加载指定路径的properties文件;@ImportResource能将外部配置文件加载到程序中;Spring Boot推荐用@Configuration和@Bean给容器添加组件;@RestController相当于@ResponseBody和@Controller的组合,使用时有不同返回情况。

1、@PropertySource—加载指定路径的配置文件
@PropertySource只支持properties 文件 不支持 yaml文件。
@PropertySource使用并不影响@ConfigurationProperties

@Component
@ConfigurationProperties(prefix = "person")
@PropertySource(value = "classpath:person.properties")
public class Person {
    private String name;
    private Integer age;
    private Date birthday;
    private Boolean boy;


    private List<Object> list;
    private Map<String,Object> maps;

    private Animal animal;

2、@SpringBootApplication

/**
 *@SpirngBootApplication----标注一个主程序类,说明这是一个SpringBoot应用
 */
@SpringBootApplication
public class HelloMainApplication {
    public static void main(String[] args) {
        //启动Spring应用
        SpringApplication.run(HelloMainApplication.class,args);

    }
}

3、@ImportResource----容器中导入组件
将外部的配置文件加载到程序中来,比如我们定义一个beans.xml文件,里面配置了一个bean,默认情况下这个bean是不会加载到Spring容器中来的。我们需要@ImportResource注解将这个配置文件加载进来。

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="helloService" class="com.mine.service.HelloService"></bean>
</beans>

package com.mine.service;

public class HelloService {
    
}

SpringBoot里没有Spring配置文件,我们自己编写的配置文件也不能自动识别,想让Spring配置文件生效,加载进来,需要将@ImportResource标注在一个配置类上
@ImportResource(locations="classpath:beans.xml")
@SpringBootApplication
public class HelloMainApplication {
    public static void main(String[] args) {
        //启动Spring应用
        SpringApplication.run(HelloMainApplication.class,args);

    }
}

```java
测试
@RunWith(SpringRunner.class) //使用Spring的驱动器运行
@SpringBootTest
public class ReadPropertiesTest {

    @Autowired
    private Person person;

    @Autowired
    private ApplicationContext ioc;

    @Test
    public void  serviceTest()
    {
        Boolean boo=ioc.containsBean("helloService");
        System.out.println(boo);//true
    }

4、@Bean
SpringBoot 给容器中添加组件推荐使用注解方式 @Configuration @Bean

/**
 * @Configuration---指明当前类是一个配置类
 * 取代配置文件中<bean></bean>这种方式添加组件
 */
@Configuration
public class MyConfig {

    //将方法的返回值添加到容器中,容器中这个组件的默认id就是方法名
    @Bean
    public HelloService helloService()
    {
        return new HelloService();
    }
}

5、@RestController
@RestController注解相当于@ResponseBody + @Controller合在一起的作用

如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。

如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

@RestController
public class TestController {

	@RequestMapping("/index")
	public String index() {
		return "user/hello";
	}
}
页面显示的是user/hello字符串
@Controller
public class TestController {

	@RequestMapping("/index")
	public String index() {
		return "user/hello";
	}
}
显示user底下的hello页面上的内容 
MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值