• Spring的java注解配置


    一、Java注解配置是Spring4.x推荐的配置方式,可以完全替代xml配置。SpringJava注解配置方式是通过 @Configuration @Bean 这两个注解实现的:
      1@Configuration 作用于类上,相当于一个xml配置文件;
      2@Bean 作用于方法上,相当于xml配置中的<bean>
    示例:这两个注解的用法
     1、创建实体类:User.java
       public class User implements Serializable {
            private static final long serialVersionUID = 1L;
            private String username;
            private String password;
            private Integer age;
            //省略set/get方法
         }
     
     2、创建Dao层,模拟数据库访问:UserDao.java
         public class UserDao {
            public List<User> findAll(){
               List<User> users = new ArrayList<User>();
               for(int i=1;i<10;i++) {
                    User user = new User();
                    user.setUsername(i+"号");
                    user.setPassword(i+"1234");
                    user.setAge(i+21);
                    users.add(user);
               }
               return users;
            }
          } 
      3、创建Service层:UserService.java
        @Service
        public class UserService {
           @Autowired
           private UserDao userDao;
         
           public List<User> findAllUser(){
               
               return userDao.findAll();
             }
         }
     
      4、创建注解类,相当于spring的主配置文件applicationContext.xml
        @Configuration   //通过该注解来表明该类是一个Spring的配置,相当于一个xml文件
        @ComponentScan(basePackages="com.boot.service")  //配置扫描包
        public class SpringAnnotation {
           @Bean  // 通过该注解来表明是一个Bean对象,相当于xml中的<bean>
           public UserDao getUserDao()
            {
               return new UserDao();
            }
         }
     
      5、测试:
       public class Main {
         public static void main(String[] args) {
            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringAnnotation.class);
               UserService userService = context.getBean(UserService.class);
               List<User> list = userService.findAllUser();
               for(User u : list) {
                    System.out.println(u.getUsername()+" "+u.getPassword()+" "+u.getAge());
               }
               context.close();
          }
        }
     6、从以上的示例中可以看出,使用Java代码就完美的替代xml配置文件,并且结构更加的清晰。
     
    二、读取外部的资源配置文件,通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法:
       @PropertySource(value= {"classpath:jdbc.properties"})
       public class SpringAnnotation {
          @Value("${jdbc.driver}")
          private String driver_class;
         
          @Value("${jdbc.url}")
          private String jdbc_url;
         
          @Value("${jdbc.username}")
          private String username;
         
          @Value("${jdbc.password}")
          private String password;
         
          @Bean
          public DataSource getDataSource() {
               DataSource dataSource = new DataSource();
               dataSource.setDriverClassName(driver_class);
               dataSource.setUrl(jdbc_url);
               dataSource.setUsername(username);
               dataSource.setPassword(password);
               return dataSource;
            }
         
          @Bean
          public SqlSessionFactoryBean getSqlSessionFactory() throws Exception {
               SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
               sessionFactory.setDataSource(this.getDataSource());  
               return sessionFactory;
           }
  • 相关阅读:
    【weka应用技术与实践】过滤器
    【软件分析与挖掘】Vision of Software Clone Management: Past, Present, and Future (Keynote Paper)
    【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction
    【Thinking in Java-CHAPTER 3】操作符
    【软件分析与挖掘】A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction
    【Thinking in Java-CHAPTER 1&&2】对象导论&&一切都是对象
    【cs229-Lecture20】策略搜索
    【cs229-Lecture19】微分动态规划
    【cs229-Lecture18】线性二次型调节控制
    【cs229-Lecture17】离散与维数灾难
  • 原文地址:https://www.cnblogs.com/lone5wolf/p/10937992.html
Copyright © 2020-2023  润新知