搜索词>>MBR分区转GPT分区 耗时0.0080
  • 硬盘MBR分区转GPT分区/GPT分区转MBR分区,采用命令PE也支持

    硬盘MBR分区转GPT分区/GPT分区转MBR分区,采用命令PE也支持硬盘MBR分区转GPT分区/GPT分区转MBR分区,采用命令PE也支持:<br /> <br /> 1.打开cmd命令窗口,输入diskpart进入diskpart工具 <pre> <code>diskpart</code></pre> 2.list disk命令查看已有的磁盘索引(注意这里说的是磁盘,非C盘,D盘之类的分区盘,一个硬盘就是一个磁盘) <pre> <code>list disk</code></pre> <img alt="查看磁盘" class="img-thumbnail" src="/assist/images/blog/be79ccfbbd0f45c3bc9014d6cd6b569d.png" /><br /> 比如上面的就只有一个磁盘,序号是0<br /> 3.选择要操作的磁盘 <pre> <code>select disk 0</code></pre> <br /> 4.转换格式<br /> <br /> MBR->GPT <pre> <code>convert gpt</code></pre> <br /> GPT->MBR <pre> <code>convert mbr</code></pre>
  • Linux系统分区Linux系统挂载硬盘Linux系统Linux系统增加交换分区swap

    centos挂载硬盘和交换分区<p>Linux系统分区Linux系统挂载硬盘Linux系统Linux系统增加交换分区swap</p> <p>1.分区介绍</p> <p> Linux系统分区不同于windows,Linux下[IED]硬盘名称为hd?(?为a-d)因为IED硬盘最多4个分区;SCSI,SATA,USB硬盘名称为sd?(?a-z),硬盘主分区最多为4个,逻辑分区从sdb5开始.</p> <p>2.查看系统分区</p> <p> 命令:</p> <pre> <code class="language-html">[root@localhost ~]# fdisk -l   Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000706e3      Device Boot      Start         End      Blocks   Id  System /dev/sda1   *           1          39      307200   83  Linux Partition 1 does not end on cylinder boundary. /dev/sda2              39         557     4161536   82  Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3             557        2611    16501760   83  Linux   Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000   [root@localhost ~]#</code></pre> <p>从上面我们可以看出有两块硬盘 分别为 sda sdb<br />  第一块硬盘sda是装系统时候用的硬盘;<br />  另外一块sdb则是我们今天将要分区的硬盘<br /> 3.分区方法</p> <p>①进入第二块磁盘分区</p> <pre> <code class="language-html">[root@localhost ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xe182f37e. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.   Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)   WARNING: DOS-compatible mode is deprecated. It's strongly recommended to          switch off the mode (command 'c') and change display units to          sectors (command 'u').   Command (m for help):</code></pre> <p>②输入m获取帮助信息</p> <pre> <code class="language-html">Command (m for help): m  Command action    a   toggle a bootable flag    b   edit bsd disklabel    c   toggle the dos compatibility flag    d   delete a partition    l   list known partition types    m   print this menu    n   add a new partition    o   create a new empty DOS partition table    p   print the partition table    q   quit without saving changes    s   create a new empty Sun disklabel    t   change a partition's system id    u   change display/entry units    v   verify the partition table    w   write table to disk and exit    x   extra functionality (experts only)   Command (m for help):</code></pre> <p>③输入p查看当前分区表</p> <pre> <code class="language-html">Command (m for help): p   Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xe182f37e      Device Boot      Start         End      Blocks   Id  System   Command (m for help):</code></pre> <p>④创建主分区sdb1大小为2G</p> <pre> <code class="language-html">Command (m for help): n Command action    e   extended    p   primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +2G           Command (m for help): p   Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xe182f37e      Device Boot      Start         End      Blocks   Id  System /dev/sdb1               1         262     2104483+  83  Linux   Command (m for help):</code></pre> <p>⑤格式化分区sdb1为linux文件类型</p> <pre> <code class="language-html">Command (m for help): t Selected partition 1 Hex code (type L to list codes): L    0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris         1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-  2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-  3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-  4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx          5  Extended        42  SFS             86  NTFS volume set da  Non-FS data     6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .  7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility    8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt          9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access      a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O         b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor       c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs         e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT             f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/ 10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b 11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto 1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            1e  Hidden W95 FAT1 Hex code (type L to list codes): 83   Command (m for help)</code></pre> <p>:⑥创建主分区sdb2大小为6G</p> <pre> <code class="language-html">Command (m for help): n Command action    e   extended    p   primary partition (1-4) p Partition number (1-4): 2 First cylinder (263-1305, default 263): Using default value 263 Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305): +6G   Command (m for help): p   Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xe182f37e      Device Boot      Start         End      Blocks   Id  System /dev/sdb1               1         262     2104483+  83  Linux /dev/sdb2             263        1046     6297480   83  Linux   Command (m for help):</code></pre> <p>⑦格式化分区sdb2为FAT32</p> <pre> <code class="language-html">Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): L    0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris         1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-  2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-  3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-  4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx          5  Extended        42  SFS             86  NTFS volume set da  Non-FS data     6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .  7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility    8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt          9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access      a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O         b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor       c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs         e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT             f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/ 10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b 11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto 1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            1e  Hidden W95 FAT1 Hex code (type L to list codes): b      Changed system type of partition 2 to b (W95 FAT32)   Command (m for help):   ⑧创建主分区sdb3大小剩余的全部 Command (m for help): n Command action    e   extended    p   primary partition (1-4) p Partition number (1-4): 3 First cylinder (1047-1305, default 1047): Using default value 1047 Last cylinder, +cylinders or +size{K,M,G} (1047-1305, default 1305): Using default value 1305   Command (m for help):</code></pre> <p>⑨格式化为swap格式</p> <pre> <code>Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): L    0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris         1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-  2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-  3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-  4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx          5  Extended        42  SFS             86  NTFS volume set da  Non-FS data     6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .  7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility    8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt          9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access      a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O         b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor       c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs         e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT             f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/ 10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b 11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto 1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            1e  Hidden W95 FAT1 Hex code (type L to list codes): 82 Changed system type of partition 3 to 82 (Linux swap / Solaris)   Command (m for help):</code></pre> <p><br /> 到目前为止,我们只是对分区表进行了内存中编辑。我们可以用 q 命令退出,不保存更改。如果某些分区不能满足您的要求,您可以使用 d 命令来删除一个或多个分区,以便重新定义它们。如果您对设置满意,则可以使用 v 命令来验证您的设置,然后使用 w 命令来写入新的分区表并退出</p> <pre> <code>Command (m for help): w The partition table has been altered!   Calling ioctl() to re-read partition table.   WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks.</code></pre> <p>4.格式化分区/dev/sdb1为ext3文件类型</p> <pre> <code>[root@MiWiFi-R1CM ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131648 inodes, 526120 blocks 26306 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=541065216 17 block groups 32768 blocks per group, 32768 fragments per group 7744 inodes per group Superblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912   Writing inode tables: done                            Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done   This filesystem will be automatically checked every 22 mounts or 180 days, whichever comes first.  Use tune2fs -c or -i to override. [root@localhost ~]#</code></pre> <p><span style="color:#27ae60"><strong>如果需要ext4类型则执行命令</strong></span><br />  </p> <pre> <code class="language-html">[root@MiWiFi-R1CM ~]# mkfs.ext3 /dev/sdb1</code></pre> <p>大硬盘快速格式化命令</p> <pre> <code>[root@MiWiFi-R1CM ~]# mkfs.ext3 -T largefile /dev/sdb1</code></pre> <p><br /> 5.挂载分区/dev/sdb1到/home</p> <pre> <code>[root@localhost ~]# mount /dev/sdb1 /home/data [root@localhost ~]# df -h Filesystem            Size  Used Avail Use% Mounted on /dev/sda3              16G  6.6G  8.2G  45% / tmpfs                 947M  276K  947M   1% /dev/shm /dev/sda1             291M   34M  242M  13% /boot /dev/sdb1             2.0G   68M  1.9G   4% /home/data      如果报错mount: you must specify the filesystem type则需要格式化一下分区  mkfs -t ext3 /dev/sdb1或  mksf.ext3 /dev/sdb1</code></pre> <p>5.1将硬盘挂载配置到系统分区配置文件/etc/fstab中<br /> 将硬盘挂载配置到系统分区配置文件/etc/fstab中,便于下次重启能自动挂载<br /> <span style="color:#27ae60"><strong><!--StartFragment --><br /> 编辑/etc/fstab 文件<br /> 添加:/dev/sdb1 /home/data ext3 defaults 1 1 </strong></span><br /> <br /> <br /> 6.将swap分区应用到系统中/取消分区</p> <pre> <code>[root@localhost ~]# free           total      used      free     shared    buffers     cached Mem:       1939084     502680    1436404        0     35616     279680 -/+ buffers/cache:187384       1751700 Swap:      4161528        0    4161528</code></pre> <pre> <code>[root@localhost ~]# mkswap -L SDBSWAP /dev/sdb3 Setting up swapspace version 1, size = 2080412 KiB LABEL=SDBSWAP, UUID=b2d1bfd4-db4a-4524-a9ca-6f8c1462ba2b [root@localhost ~]# swapon /dev/sdb3 [root@localhost ~]# free              total       used       free     shared    buffers     cached Mem:       1939084     504548    1434536          0      36424     279740 -/+ buffers/cache:     188384    1750700 Swap:      6241936          0    6241936 [root@localhost ~]# swapoff /dev/sdb3 [root@localhost ~]# free              total       used       free     shared    buffers     cached Mem:       1939084     503564    1435520          0      36484     279740 -/+ buffers/cache:     187340    1751744 Swap:      4161528          0    4161528 [root@localhost ~]# </code></pre>
  • spring boot 入门 spring.profiles.active来分区配置

    spring boot 入门 使用spring.profiles.active来分区配置,,在spring boot中可以存在多个环境的配置文件通过配置spring.profiles.active来区分具体使用那个,也可以通过命令来指定使用那个。<h2>spring boot 入门 使用spring.profiles.active来分区配置</h2> <p>很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置</p> <p>spring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,然后通过在application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。</p> <p>profile的配置文件可以按照application.properyies的放置位置一样,放于以下四个位置,</p> <ol> <li>当前目录的 “/config”的子目录下</li> <li>当前目录下</li> <li>classpath根目录的“/config”包下</li> <li>classpath的根目录下</li> </ol> <p>在这里我们就定义俩个profile文件,application-cus1.properties和application-cus2.properties,并在俩个文件中都分别写上变量cusvar=cus1和cusvar=cus2</p> <br /> 我们在application.properyies也写上,并把profile切换到application-cus1.properties的配置文件 <pre> <code>cusvar=cus3 spring.profiles.active=cus1</code></pre> 可以通过这样子来测试 <pre> <code class="language-java"> @RestController @RequestMapping("/task") public class TaskController { @RequestMapping(value = {"/",""}) public String hellTask(@Value("${cusvar}")String cusvar ){ return "hello task !! myage is " + cusvar; } }</code></pre> <p>在这里可以看到spring.profiles.active激活的profile不同,打印出来的结果也不一样。</p> <p>除了可以用profile的配置文件来分区配置我们的环境变量,在代码里,我们还可以直接用@Profile注解来进行配置,例如数据库配置,这里我们先定义一个接口<br />  </p> <pre> <code class="language-java">public interface DBConnector { public void configure(); }</code></pre> <br /> 分别定义俩个实现类来实现它 <pre> <code class="language-java">/** * 测试数据库 */ @Component @Profile("testdb") public class TestDBConnector implements DBConnector { @Override public void configure() { System.out.println("testdb"); } } /** * 生产数据库 */ @Component @Profile("devdb") public class DevDBConnector implements DBConnector { @Override public void configure() { System.out.println("devdb"); } }</code></pre> 通过在配置文件激活具体使用哪个实现类 <pre> <code>spring.profiles.active=testdb</code></pre> 然后就可以这么用了 <pre> <code class="language-java">@RestController @RequestMapping("/task") public class TaskController { @Autowired DBConnector connector ; @RequestMapping(value = {"/",""}) public String hellTask(){ connector.configure(); //最终打印testdb return "hello task !! myage is " + myage; } }</code></pre> 除了spring.profiles.active来激活一个或者多个profile之外,还可以用spring.profiles.include来叠加profile <pre> <code>spring.profiles: testdb spring.profiles.include: proddb,prodmq</code></pre> 以上就是spring boot用profile的作用 <h2>通过命令行设置属性值</h2> <p>相信使用过一段时间Spring Boot的用户,一定知道这条命令:<code>java -jar xxx.jar --server.port=8888</code>,通过使用--server.port属性来设置xxx.jar应用的端口为8888。</p> <p>在命令行运行时,连续的两个减号<code>--</code>就是对<code>application.properties</code>中的属性值进行赋值的标识。所以,<code>java -jar xxx.jar --server.port=8888</code>命令,等价于我们在<code>application.properties</code>中添加属性<code>server.port=8888</code>,该设置在样例工程中可见,读者可通过删除该值或使用命令行来设置该值来验证。</p> <p>通过命令行来修改属性值固然提供了不错的便利性,但是通过命令行就能更改应用运行的参数,那岂不是很不安全?是的,所以Spring Boot也贴心的提供了屏蔽命令行访问属性的设置,只需要这句设置就能屏蔽:<code>SpringApplication.setAddCommandLineProperties(false)</code>。</p> <h2>多环境配置</h2>     以上都不是重点,这才是重点,这才是重点,这才是重点,重要的事情说3遍。我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。<br />     对于多环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Spring Boot也不例外,或者说更加简单。<br />        在Spring Boot中多环境配置文件名需要满足<code>application-{profile}.properties</code>的格式,其中<code>{profile}</code>对应你的环境标识,比如:<br />    application-dev.properties:开发环境<br />    application-test.properties:测试环境<br />    application-prod.properties:生产环境<br />        至于哪个具体的配置文件会被加载,需要在<code>application.properties</code>文件中通过<code>spring.profiles.active</code>属性来设置,其值对应<code>{profile}</code>值。<br /> 如:<code>spring.profiles.active=test</code>就会加载<code>application-test.properties</code>配置文件内容<br /> 下面,以不同环境配置不同的服务端口为例,进行样例实验。<br />  <br />      针对各环境新建不同的配置文件<code>application-dev.properties</code>、<code>application-test.properties</code>、<code>application-prod.properties</code><br />      在这三个文件均都设置不同的<code>server.port</code>属性,如:dev环境设置为8080,test环境设置为9090,prod环境设置为80<br />      application.properties中设置<code>spring.profiles.active=dev</code>,就是说默认以dev环境设置<br />  <br /> 测试不同配置的加载:<br />      执行java -jar xxx.jar,可以观察到服务端口被设置为8080,也就是默认的开发环境(dev)<br />  <br />      执行java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端口被设置为9090,也就是测试环境的配置(test)<br />  <br />      执行java -jar xxx.jar --spring.profiles.active=prod,可以观察到服务端口被设置为80,也就是生产环境的配置(prod)<br />  <br /> 按照上面的实验,可以如下总结多环境的配置思路:<br />    application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置<br />    application-{profile}.properties中配置各个环境不同的内容<br /> 通过命令行方式去激活不同环境的配置。<br /> <br /> <strong>多环境高级应用</strong><br />        在某些情况下,应用的某些业务逻辑可能需要有不同的实现。例如邮件服务,假设<code>EmailService</code>中包含的<code>send(String email)</code>方法向指定地址发送电子邮件,但是我们仅仅希望在生产环境中才执行真正发送邮件的代码,而开发环境里则不发送以免向用户发送无意义的垃圾邮件。<br />        我们可以借助Spring的注解<code>@Profile</code>实现这样的功能,这样需要定义两个实现<code>EmailService</code>借口的类: <pre> <code class="language-java">/**  * 发送邮件接口.  */ public interface EmailService {     /**发送邮件*/     publicvoid send(); } 发送邮件的具体实现(dev-开发环境的代码): @Service @Profile("dev") //开发环境的时候. public class DevEmailServiceImpl implements EmailService{       @Override     publicvoid send() {        System.out.println("DevEmailServiceImpl.send().开发环境不执行邮件的发送.");     } }</code></pre> <br />  <br />  <br /> 发送邮件的具体实现(prod-生产环境的代码): <pre> <code class="language-java">@Service @Profile("prod") //生产环境. public class ProdEmailServiceImpl2 implements EmailService{         @Override     publicvoid send() {        System.out.println("DevEmailServiceImpl.send().生产环境执行邮件的发送.");        //具体的邮件发送代码.        //mail.send();     } }  </code></pre> <br /> <code>@Profile("dev")</code>表明只有Spring定义的Profile为<code>dev</code>时才会实例化<code>DevEmailService</code>这个类。那么如何设置Profile呢? <h3>在配置文件中指定</h3>  <br /> 在<code>application.properties</code>中加入: <div> <pre> <code>spring.profiles.active=dev</code></pre> </div>   <h3>通过命令行参数</h3> <div> <pre> <code>java -jar app.jar --spring.profiles.active=dev</code></pre> </div>  
  • MySQL null转0

    MySQL查询中null转0本文主要讲解MySQL数据库查询中,通过ifnull函数将null替换为0,同样也可以替换为其他值。MySQL查询中null转0 SQL:select  ifnull(fieldName,0)  from table_name
  • Spring MVC controller简单处理301跳转

    Java spring mvc项目,Spring MVC中怎么实现301跳转spring mvc项目是spring的一个子项目用于处理视图层的请求,类似Struts框架。<br /> 302跳转很简单: <pre> <code class="language-java">@RequestMapping(value = "blog.html") public String rindex() { return "redirect:/blog"; }</code></pre> 按照不重复造轮子的理念,其实301跳转也很简单: <pre> <code class="language-java"> @RequestMapping(value = "blog.html") public RedirectView rindex(HttpServletRequest request) { RedirectView redirectView = new RedirectView("/blog"); redirectView.setStatusCode(HttpStatus.MOVED_PERMANENTLY); return redirectView; }</code></pre> spring mvc 提供了一个专门用于处理各种重定向的view视图。<br /> 跳转结果如下图:<br /> <img alt="301" class="img-thumbnail" src="/assist/images/blog/afadaa21-801c-4dd9-8181-df5cb9e16ad7.png" style="height:255px; width:605px" />
  • 群晖 "还原"/系统可恢复”无限循环终极解决_黑群晖救砖

    群晖“系统可恢复”/"还原"无限循环终极解决办法,情况说明:黑群晖6.1.x升级到6.2.2失败,打开现实系统可恢复,点击却一直恢复失败,可怜的数据我该如何拯救你​黑群晖该如何拯救升级失败变砖?本文为你一一讲解环境说明:CPU: E3 12群晖“系统可恢复”/"还原"无限循环终极解决办法,情况说明:黑群晖6.1.x升级到6.2.2失败,打开现实系统可恢复,点击却一直恢复失败,可怜的数据我该如何拯救你​黑群晖该如何拯救升级失败变砖?本文为你一一讲解环境说明:CPU: E3 1265L V3主板:H81硬盘:一个当前群晖版本:6.1.7 升级6.2.2失败  ​格式化系统分区解决办法出世在某位大佬的指导下,进行了格式化群晖硬盘的两个系统分区进行数据保留的拯救办法成功出世。下面将讲解详细操作步骤。步骤1:重新制作引导U盘引导U盘的制作详细操作步骤请参考我之前发布的黑群晖6.1.7 安装详细教程 文中有详细的解说。步骤2:格式化群晖的系统分区首先将硬盘从群晖设备取出来,并连接到一台PC上操作,我这里PC是Windows系统,工具是DiskGeniusDiskGenius截图如下:​挂载图如上,上面HD2是群晖的硬盘。上图可以看到该硬盘结构一共有三个分区使用还有一小部分未使用空间。其中前两个分区一般都是2G左右。下面格式化前面两个系统分区注意!注意!注意!这里的操作是格式化!!!!!格式化!!!格式化!!!千万不要删除分区!!!!​格式化分区1​格式化分区2两个分区格式化以后就将硬盘插入之前的群晖设备,引导盘同样插入设备。步骤3:开机用群晖助手搜一把​上图中所选的设备就是刚才的设备,下面联机步骤4:安装系统联机后如下图:​点击设置,继续下一步:​进入到这个界面后要注意了,我们刚才U盘做的引导是那个版本就对应那个版本使用手动安装!!!!比如:引导 DS3615_6.17-15284_1.02b.img 系统文件:DS3615_6.17-15284.pat引导 DS3615_6.2-23739_1.03b.img  系统文件:DS3615_6.2-23739.pat ​由于我U盘制作的是1.02b的引导,这里就用的DS3615_6.17-15284.pat系统文件,点击立即安装,继续操作:​这个时候系统就开始安装了,和删除了所有数据安装不同的地方是什么呢?  这里不会提示会删除硬盘的所有数据,因为硬盘的分区结构和群晖的结构一样,所以他就直接将系统安装到之前我们格式化的两个分区了,数据就保留下来了,我们等待安装完成。​重启完毕后我们就进入群晖的初始化操作,创建用户啦:​上面的信息自己填写下一步一直到进入吧​接下来我们去看看我们的数据还在否,激动人心的时刻来了​​​​当当当当!!!!数据还在。其他注意事项:该方法会将之前安装的所有软件删除,部分软件数据按照后可以恢复。比如群晖的虚拟机可以恢复。docker没测试过。但是数据卷的东西100%还在该方法还可以用于群晖6.2降级到6.1,亲测数据保留。Enjoy !!​
  • java json字符串转对象_json转换为java对象_ json字符串转对象数组使用JAXB

    java json字符串转对象_json转换为java对象_ json字符串转对象数组java json字符串转对象_json转换为java对象_    json字符串转对象数组
  • 黑群晖二合一安装图文详细教程

    黑群晖常规安装方式请前往:黑群晖6.1.7 安装详细教程一、黑群晖二合一安装资源准备本教程针对常见的星际蜗牛为例黑群晖常规安装方式请前往:黑群晖6.1.7 安装详细教程一、黑群晖二合一安装资源准备本教程针对常见的星际蜗牛为例。但不限于星际蜗牛机器其他也一样。黑群晖二合一支持常规启动也支持UEFI启动。​1.安装黑群晖的主机一台(以最近常见的星际蜗牛为例)2.硬盘16GB一枚(星际蜗牛自带,硬盘大小如果大于16G也可以。但是大于的部分安装后不可用所以16G最佳)3.硬盘连接线(需要将硬盘连接到其他windows电脑用)4.黑群晖二合一安装文件(下载:黑群晖二合一下载支持传统和UEFI-引导二合一.zip)5.Roadkil's DiskImage 工具(用于写入系统镜像到硬盘)6.DiskGenius 硬盘分区工具二、黑群晖二合一安装步骤2.1 删除硬盘分区将硬盘连接至电脑,然后打开硬盘工具DiskGenius将硬盘所有分区删除然后保存。​2.2 写入黑群晖二合一安装文件到硬盘打开Roadkil's DiskImage软件。选择下载好的安装文件和选择好硬盘。注意硬盘不要选错了否则哭哟​2.3 硬盘安装入黑群晖机器 将制作好的硬盘安装回黑群晖机器里面。然后接通电源开机三、使用开机完毕后通过群晖助手或者浏览器输入http://find.synology.com查找群辉机器。找到后就如常规的使用即可:​
  • 怎么把图片转成pdf_ 如何把图片转成pdf

    简介本文如题将会讲解如何将图片简单的方式转换为PDF文件,以及如何将多张图片转换成一个PDF文件的方法讲解简介本文如题将会讲解如何将图片简单的方式转换为PDF文件,以及如何将多张图片转换成一个PDF文件的方法讲解。如何把图片转成PDF相关准备office工具,无论是Microsoft office 还是WPS都可以需要转换的图片 ​如上图先创建一个word文档。怎么把图片转成pdf操作步骤第一步:打开word文档 如图所示:​如上图所示,打开了一个空的word文档第二步:将图片复制到word文档中如图所示:​如上图展示的操作,你可以复制一张图片也可以复制多张图片到word文档中。第三步:将word文件另存为PDF文件如下图所示:​好了到此为止怎么把图片以及多张图片转为PDF文件已经搞定了。祝学习愉快​
  • 黑群晖6.1.7升级6.2成功记录

    黑群晖升级真的黑危险黑群晖升级真的黑危险。用我失败后丢数据的惨痛教训给大家做了个实验如何由群晖6.1.7升级6.2版本(注意:非6.2.2)环境说明:主板:H81CPU: E3 1265L V3硬盘:1个U盘:启动盘一枚(6.1.7的引导 1.02b)群晖6.1.7升级6.2版本步骤首先制作1.03b引导U盘1.将当前环境6.1.7关机,并拔下引导U盘。用分区工具将U盘先删除所有分区并创建一个默认分区待稍后处理。制作1.03b的引导U盘,制作方法参考之前我发布的  黑群晖6.1.7 安装详细教程 里面的操作一模一样。2.插上1.03b的U盘到群晖机器开机3.电脑网页/或者群晖工具搜索机器注意,这个时候搜索出来的IP不一定是之前6.1.7的环境时候的IP4.找到设备后如下图 ​5.点击安装按钮继续操作​6.选择安装类型提示:推荐使用迁移的方式安装7.开始安装到这一步安装群晖有两种方式一个是直接点击立即安装会在线下载系统安装(我多次失败了,失败率100%)一个是自己手动上传系统文件安装(成功率100%) 系统文件为:DS3615_6.2-23739.pat特别提示:我当前用1.03b的引导无法安装最新的6.2.2,无论是上面安装这一步选择自动下载最新版本安装还是这里手动安装成功后面升级都会失败,进入无尽的可恢复状态(有办法救活后面再说)。 ​​后面就成功进入系统了,6.2,具体版本是DS3615_6.2-23739