写点什么

Spring(五、注解开发)

作者:
  • 2022 年 8 月 08 日
  • 本文字数:1069 字

    阅读完需:约 4 分钟

1 Spring 原始注解

​ Spring 是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替 xml 配置 文件可以简化配置,提高开发效率。


​ Spring 原始注解主要是替代的配置



例如:


  • 使用 @Compont 或 @Repository 标识 UserDaoImpl 需要 Spring 进行实例化。


//<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"></bean>
@Repository("userDao")public class UserDaoImpl implements UserDao { public void save() { System.out.println("save running..."); }}
复制代码


  • 使用 @Compont 或 @Service 标识 UserServiceImpl 需要 Spring 进行实例化

  • 使用 @Autowired 或者 @Autowired+@Qulifier 或者 @Resource 进行 userDao 的注入


//<bean id="userService" class="com.itheima.service.impl.UserServiceImpl">//@Component("userService")@Service("userService")//@Scope("prototype")@Scope("singleton")public class UserServiceImpl implements UserService {
@Value("${jdbc.driver}") private String driver;
//<property name="userDao" ref="userDao"></property> //@Autowired //按照数据类型从Spring容器中进行匹配的 //@Qualifier("userDao") //是按照id值从容器中进行匹配的 但是主要此处@Qualifier结合@Autowired一起使用 @Resource(name="userDao") //@Resource相当于@Qualifier+@Autowired private UserDao userDao;
public void save() { System.out.println(driver); userDao.save(); }
@PostConstruct public void init(){ System.out.println("Service对象的初始化方法"); }
@PreDestroy public void destory(){ System.out.println("Service对象的销毁方法"); }}
复制代码


  • 使用 @Value 进行字符串的注入


  @Value("${jdbc.driver}")    private String driver;
复制代码


  • 使用 @Scope 标注 Bean 的范围


  @Scope("singleton")
复制代码


  • 使用 @PostConstruct 标注初始化方法,使用 @PreDestroy 标注销毁方法


  @PostConstruct    public void init(){        System.out.println("Service对象的初始化方法");    }
@PreDestroy public void destory(){ System.out.println("Service对象的销毁方法"); }
复制代码

2 Spring 新注解

使用上面的注解还不能全部替代xml配置文件,还需要使用注解替代的配置如下: 非自定义的Bean的配置:<bean> 加载properties文件的配置:<context:property-placeholder> 组件扫描的配置:<context:component-scan> 引入其他文件:<import>
复制代码



发布于: 刚刚阅读数: 3
用户头像

关注

在校大三学生一枚 2022.08.02 加入

喜欢学习编程,擅长技术栈JAVA

评论

发布
暂无评论
Spring(五、注解开发)_开源_斯_InfoQ写作社区