做膜的网站有哪些,网站建设规划方案ppt模板,学校网站建设介绍范文,房产网站设计目录
1.Bean基本注解开发
Component
Scorelazy
PostConstruct和PreDestroy
RepositoryServiceController
2.Bean依赖注入注解开发
Value
Autowired
Qualifier
Resource
扩展AutoWired 1.Bean基本注解开发 基本Bean注解#xff0c;主要是使用注释的方式替代原有xml的…目录
1.Bean基本注解开发
Component
Scorelazy
PostConstruct和PreDestroy
RepositoryServiceController
2.Bean依赖注入注解开发
Value
Autowired
Qualifier
Resource
扩展AutoWired 1.Bean基本注解开发 基本Bean注解主要是使用注释的方式替代原有xml的bean标签及其标签属性的配置 bean id name class scope lazy-init
init-method destroy-method abstract
autowire factory-bean
factory-method/bean Component 使用注解替代bean 标签 //Component注解 必须写类上面 可以起别名没有起别名默认类名小写 被该注解标识的类会在指定扫描范围内被spring加载并实例化 使用步骤1更改配置文件的头添加注解 2.添加扫描 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:contexthttp://www.springframework.org/schema/contextxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
!--spring需要通过注解的方式将类放到spring容器中 需要配置一个标签 context 告诉spring容器去哪里扫描注解--
!-- 告诉spring容器将那个包下具有注解的类放置spring容器中--context:component-scan base-packagecom.rocky/context:component-scan/beans Component(user)
public class User {private Integer id;private String uname;private String password;
} Scorelazy PostConstruct和PreDestroy !-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api --
需要引入依赖
dependencygroupIdjavax.annotation/groupIdartifactIdjavax.annotation-api/artifactIdversion1.3.2/version
/dependency PostConstructpublic void init(){System.out.println(init User);}PreDestroypublic void destroy(){System.out.println(destroy user);} RepositoryServiceController
由于JavaEE开发是分层的为了每层Bean标识的注解语义化更加明确Component又衍生出如下三个注解 2.Bean依赖注入注解开发 Bean依赖注入的注解主要是使用注解的方式替代XML的property标签完成属性的注入操作 bean id classproperty name value/propertyproperty name ref/property/bean Value Component
public class User {Value(value zhangsan)private String name;Value(20)private int age;Value(李四)public void setName(String name) {this.name name;}public User(Value(隔壁老王) String name, Value(33) int age) {this.name name;this.age age;} Value注解可以出现在属性上、setter方法上、以及构造方法的形参上 Autowired Autowired注解可以用来注入非简单类型。单独使用Autowired注解默认根据类型装配。 Autowired根据类型注入 //如果有多个实现了接口的对象那么我们必须和bean的参数名称匹配 //传递的参数和bean名称id一致 Autowired // 在属性上注入private UserDao userDao;Autowiredpublic void setUserDao(UserDao userDao) {this.userDao userDao;}Autowiredpublic UserService(UserDao userDao) {this.userDao userDao;}public UserService(Autowired UserDao userDao) {this.userDao userDao;} Qualifier Autowired注解默认是byType进行注入的也就是说根据类型注入的如果以上程序中UserDao接口还有另外一个实现类会出现问题 /Qualifier 指的是将spring容器中的名字匹配到方法参数中和方法参数的名称无关 //必须和autowired组合使用byName根据名称进行装配了。 Autowired注解和Qualifier注解联合起来才可以根据名称进行装配在Qualifier注解中指定Bean名称。 Autowired()
Qualifier(mysqlDao) //类没有指定别名时 使用类名 首字母小写public void setUserDao( UserDao userDao) {this.userDao userDao;} Resource 相当于Autowired 和 QualifierResource注解默认根据名称装配byName未指定name时使用属性名作为name。通过name找不到的话会自动启动通过类型byType装配。Resource注解用在属性上、setter方法上。 //不指定参数名称时等同于autowired Resource(name oracle) 扩展AutoWired 任何方法都可以根据AutoWired注入 // Autowired还可以给普通方法传递参数AutowiredQualifier(bbb)public void hahha(UserDao userDao){}Autowiredpublic void xixixix(ListUser users){}