注解开发和spring的常用注解和使用方式

@component 配置bean三个子类

@Controller用于表现层bean注解

@Service用于业务层bean定义

@Repository:用于数据层bean定义

@autowired自动装配

@Qualifier(“bean名称”)当有多个同类型bean需要加入这一句

@value 值类型的值

@Configuration设置当前类的为配置类

@ComponentScan设置当前类的包扫描,可以传入多个值,使用,分隔

@bean用作方法上,把方法的返回值当作一个类也会自动注入方法的形参同类型的类

@scope设置方法是否是单例(默认单例)

@postconstructor 定义在方法上,相当于类的初始化操作

@predestroy定义在方法上,相当于类的关闭操作

@Component

相当于配置文件中的bean,但是如果想要让spring配置文件识别,需要加入包扫描

<context:component-scan base-package="路径"
@Controller,Service,Repository

@Controller用于表现层bean注解

@Service用于业务层bean定义

@Repository:用于数据层bean定义

注解替换spring配置

@Configuration设置当前类的为配置类

@ComponentScan设置当前类的包扫描,可以传入多个值,使用,分隔

AnnotationConfigApplicationContext获取加载器

配置文件类


package com.wc.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 **/
@Configuration
@ComponentScan({"com.wc.dao","com.wc.list"})
public class SpringConfig {
}

类加载

ApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
bean管理

@scope控制是否单例(“prototype”)非单例,默认单例(singleton)

@PostConstruct设置类的初始状态

@PreDestriy设置类的销毁时状态

初始化

@PostConstruct
public void afterPropertiesSet() {
    System.out.println("初始化");
}
关闭
@PreDestroy()
public void destroy() {
    System.out.println("关闭");
}
自动装配@Autowired

他是按照类型装配

@Qualifier(“bean名称”)当有多个同类型bean需要加入这一句+

如果是值类型的加入@value

@PrepertySource({“jdbc.properties”,“perperties…”})数据源配置在spring配置文件类当中,${名字}访问

第一步配置springconfig类

//定义这个类是spring配置类
@Configuration
//自动扫描
@ComponentScan({"com.wc.dao","com.wc.service"})
//加载配置文件
@PropertySource({"jdbc.properties"})
public class SpringConfig {
}

第二部创建bean

//创建bean对象,并起名
@Component("userDao")

public class UserDaoImpl implements UserDao {
//  ${}获取配置文件中相同名称的值
    @Value("${name}")
    private String name;


@service
public class UserServiceImpl implements UserService {
//自动装配
    @Autowired
    private UserDao userDao;

第三步测试

AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
context.registerShutdownHook();
UserService service=context.getBean(UserService.class);
service.save();
UserDao dao=context.getBean(UserDao.class);
System.out.println(dao);
管理第三方的bean

如果第三方的bean需要引用类型传入一个同类型新参

如果需要一个值类型你就定义成员属性

第一步创建第三方bean的类对象加入注解bean

/**
 * @auto:Mrs.Y
 * @email:2508108731@qq.com
 */
package com.wc.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.context.annotation.Bean;

import javax.sql.DataSource;

/**
 **/
public class JDBCConfig {
    @Bean
    public DataSource dataSource(){
        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/db1");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        return dataSource;
    }
}

第二步配置spring配置文件导入外部配置

@Configuration
@ComponentScan({"com.wc.dao","com.wc.service"})
@PropertySource({"jdbc.properties"})
@Import({JDBCConfig.class})
public class SpringConfig {
}

第三步测试

AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
JDBCConfig bean = context.getBean(JDBCConfig.class);
DataSource dataSource = bean.dataSource();
System.out.println(dataSource);

tionContext context=new AnnotationConfigApplicationContext(SpringConfig.class);
JDBCConfig bean = context.getBean(JDBCConfig.class);
DataSource dataSource = bean.dataSource();
System.out.println(dataSource);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值