IT评测·应用市场-qidao123.com

标题: Spring常用注解 [打印本页]

作者: 守听    时间: 2025-1-25 13:30
标题: Spring常用注解
在Spring中,有许多高效的注解,其简化了开辟并提高代码可读性,这样我们就不消再去spring.xml文件中写标签了非常方便
创建对象的注解

在Spring,有用于识别不同类型的Bean,使得Spring容器可以自动管理这些Bean的创建和生命周期
@Component

@Service

@Repository

@Controller

注入对象的注解

@Autowired

@Autowired是最常用的注解,用于将Spring容器中的Bean自动注入到当前类中
  1. @Service("adminService")
  2. public class AdminServiceImpl implements AdminService {
  3.     @Autowired
  4.     private AdminDao adminDao;
  5. }
复制代码
在需要注入的字段上添加@Autowired即可
@Qualifier

  1. @Repository
  2. public class ClassDao1 extends ClassDao{}
  3. @Repository
  4. public class ClassDao2 extends ClassDao{}
  5. @Autowired
  6. @Qualifier("classDao1")
  7. private ClassDao classDao;
  8. public void queryAll() {
  9.     dao.queryAll();
  10.     System.out.println(classDao);
  11. }
复制代码
@Resource

@Resource可以注入Bean,但通常是按照名称注入,其与@Autowired有相似之处,但在注入方式上有所不同
按名称注入

在这个例子中,@Resource(name = "adminDao") 会根据 adminDao 的名字注入对应的 AdminDao 实现类
按属性注入

@Resource和@Autowired的差异

@PostConstruct和@PreDestroy

两个注解分别为再Bean初始之后和销毁之前实行的方法

其他的配置注解

@Configuration与@ComponentScan

  1. @Configuration
  2. @ComponentScan("com.mashang")
  3. //@ComponentScan({"com.mashang"})配置多个路径的方法
  4. public class SpringConfig {
  5. }
复制代码
@Import

  1. @Configuration
  2. @ComponentScan("com.mashang")
  3. @Import({DruidConfig.class, Test01.class})
  4. public class SpringConfig {
  5. }
复制代码
@PropertySource 与@Value

@PropertySource

  1. @Component
  2. @PropertySource("classpath:druid.properties")
  3. public class JDBCUtil {
  4. ...
  5. }
复制代码
@Value

@Bean

  1. @Bean    public Connection getConnection() throws SQLException {   
  2.     <context:component-scan base-package="com.mashang"></context:component-scan>return DriverManager.getConnection(url, accountName, password);    }
复制代码
@Bean 注解的方法 getConnection() 返回的 Connection 对象会被注册为 Spring 容器中的 Bean,你可以通过 ctx.getBean() 来获取它

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4